Enzyme main
Loading...
Searching...
No Matches
TBAAStructTypeNode Class Reference

This is a simple wrapper around an llvm::MDNode which provides a higher-level interface by hiding the details of how alias analysis information is encoded in its operands. More...

#include "TypeAnalysis/TBAA.h"

Public Member Functions

 TBAAStructTypeNode ()=default
 
 TBAAStructTypeNode (const llvm::MDNode *N)
 
const llvm::MDNode * getNode () const
 Get the llvm::MDNode for this TBAAStructTypeNode.
 
bool isNewFormat () const
 isNewFormat - Return true iff the wrapped type node is in the new size-aware format.
 
bool operator== (const TBAAStructTypeNode &Other) const
 
llvm::Metadata * getId () const
 getId - Return type identifier.
 
unsigned getNumFields () const
 
uint64_t getFieldOffset (unsigned FieldIndex) const
 
TBAAStructTypeNode getFieldType (unsigned FieldIndex) const
 
TBAAStructTypeNode getField (uint64_t &Offset) const
 Get this TBAAStructTypeNode's field in the type DAG with given offset.
 

Detailed Description

This is a simple wrapper around an llvm::MDNode which provides a higher-level interface by hiding the details of how alias analysis information is encoded in its operands.

Definition at line 166 of file TBAA.h.

Constructor & Destructor Documentation

◆ TBAAStructTypeNode() [1/2]

TBAAStructTypeNode::TBAAStructTypeNode ( )
default

Referenced by getField(), and getFieldType().

◆ TBAAStructTypeNode() [2/2]

TBAAStructTypeNode::TBAAStructTypeNode ( const llvm::MDNode * N)
inlineexplicit

Definition at line 172 of file TBAA.h.

Member Function Documentation

◆ getField()

TBAAStructTypeNode TBAAStructTypeNode::getField ( uint64_t & Offset) const
inline

Get this TBAAStructTypeNode's field in the type DAG with given offset.

Update the offset to be relative to the field type.

Definition at line 217 of file TBAA.h.

References isNewFormat(), and TBAAStructTypeNode().

◆ getFieldOffset()

uint64_t TBAAStructTypeNode::getFieldOffset ( unsigned FieldIndex) const
inline

Definition at line 196 of file TBAA.h.

References isNewFormat().

Referenced by parseTBAA().

◆ getFieldType()

TBAAStructTypeNode TBAAStructTypeNode::getFieldType ( unsigned FieldIndex) const
inline

Definition at line 207 of file TBAA.h.

References getNode(), isNewFormat(), and TBAAStructTypeNode().

Referenced by getAccessNameTBAA(), and parseTBAA().

◆ getId()

llvm::Metadata * TBAAStructTypeNode::getId ( ) const
inline

getId - Return type identifier.

Definition at line 186 of file TBAA.h.

References isNewFormat().

Referenced by getAccessNameTBAA(), and parseTBAA().

◆ getNode()

const llvm::MDNode * TBAAStructTypeNode::getNode ( ) const
inline

Get the llvm::MDNode for this TBAAStructTypeNode.

Definition at line 175 of file TBAA.h.

Referenced by getFieldType(), getNumFields(), and operator==().

◆ getNumFields()

unsigned TBAAStructTypeNode::getNumFields ( ) const
inline

Definition at line 190 of file TBAA.h.

References getNode(), and isNewFormat().

Referenced by getAccessNameTBAA(), and parseTBAA().

◆ isNewFormat()

bool TBAAStructTypeNode::isNewFormat ( ) const
inline

isNewFormat - Return true iff the wrapped type node is in the new size-aware format.

Definition at line 179 of file TBAA.h.

References isNewFormatTypeNode().

Referenced by getField(), getFieldOffset(), getFieldType(), getId(), and getNumFields().

◆ operator==()

bool TBAAStructTypeNode::operator== ( const TBAAStructTypeNode & Other) const
inline

Definition at line 181 of file TBAA.h.

References getNode().


The documentation for this class was generated from the following file: