clang  6.0.0svn
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
clang::CodeGen::TBAAAccessInfo Struct Reference

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.h"

Collaboration diagram for clang::CodeGen::TBAAAccessInfo:
Collaboration graph
[legend]

Public Member Functions

 TBAAAccessInfo (TBAAAccessKind Kind, llvm::MDNode *BaseType, llvm::MDNode *AccessType, uint64_t Offset, uint64_t Size)
 
 TBAAAccessInfo (llvm::MDNode *BaseType, llvm::MDNode *AccessType, uint64_t Offset, uint64_t Size)
 
 TBAAAccessInfo (llvm::MDNode *AccessType, uint64_t Size)
 
 TBAAAccessInfo ()
 
bool isMayAlias () const
 
bool isIncomplete () const
 
bool operator== (const TBAAAccessInfo &Other) const
 
bool operator!= (const TBAAAccessInfo &Other) const
 
 operator bool () const
 

Static Public Member Functions

static TBAAAccessInfo getMayAliasInfo ()
 
static TBAAAccessInfo getIncompleteInfo ()
 

Public Attributes

TBAAAccessKind Kind
 Kind - The kind of the access descriptor. More...
 
llvm::MDNode * BaseType
 BaseType - The base/leading access type. More...
 
llvm::MDNode * AccessType
 AccessType - The final access type. More...
 
uint64_t Offset
 Offset - The byte offset of the final access within the base one. More...
 
uint64_t Size
 Size - The size of access, in bytes. More...
 

Detailed Description

Definition at line 43 of file CodeGenTBAA.h.

Constructor & Destructor Documentation

◆ TBAAAccessInfo() [1/4]

clang::CodeGen::TBAAAccessInfo::TBAAAccessInfo ( TBAAAccessKind  Kind,
llvm::MDNode *  BaseType,
llvm::MDNode *  AccessType,
uint64_t  Offset,
uint64_t  Size 
)
inline

Definition at line 44 of file CodeGenTBAA.h.

◆ TBAAAccessInfo() [2/4]

clang::CodeGen::TBAAAccessInfo::TBAAAccessInfo ( llvm::MDNode *  BaseType,
llvm::MDNode *  AccessType,
uint64_t  Offset,
uint64_t  Size 
)
inline

Definition at line 50 of file CodeGenTBAA.h.

◆ TBAAAccessInfo() [3/4]

clang::CodeGen::TBAAAccessInfo::TBAAAccessInfo ( llvm::MDNode *  AccessType,
uint64_t  Size 
)
inlineexplicit

Definition at line 56 of file CodeGenTBAA.h.

◆ TBAAAccessInfo() [4/4]

clang::CodeGen::TBAAAccessInfo::TBAAAccessInfo ( )
inline

Definition at line 60 of file CodeGenTBAA.h.

Member Function Documentation

◆ getIncompleteInfo()

static TBAAAccessInfo clang::CodeGen::TBAAAccessInfo::getIncompleteInfo ( )
inlinestatic

◆ getMayAliasInfo()

static TBAAAccessInfo clang::CodeGen::TBAAAccessInfo::getMayAliasInfo ( )
inlinestatic

◆ isIncomplete()

bool clang::CodeGen::TBAAAccessInfo::isIncomplete ( ) const
inline

Definition at line 78 of file CodeGenTBAA.h.

References clang::CodeGen::Incomplete.

Referenced by clang::CodeGen::CodeGenTBAA::getAccessTagInfo().

◆ isMayAlias()

bool clang::CodeGen::TBAAAccessInfo::isMayAlias ( ) const
inline

◆ operator bool()

clang::CodeGen::TBAAAccessInfo::operator bool ( ) const
inlineexplicit

Definition at line 92 of file CodeGenTBAA.h.

◆ operator!=()

bool clang::CodeGen::TBAAAccessInfo::operator!= ( const TBAAAccessInfo Other) const
inline

Definition at line 88 of file CodeGenTBAA.h.

◆ operator==()

bool clang::CodeGen::TBAAAccessInfo::operator== ( const TBAAAccessInfo Other) const
inline

Definition at line 80 of file CodeGenTBAA.h.

References AccessType, BaseType, Kind, Offset, and Size.

Member Data Documentation

◆ AccessType

llvm::MDNode* clang::CodeGen::TBAAAccessInfo::AccessType

AccessType - The final access type.

May be null if there is no TBAA information available about this access.

Definition at line 106 of file CodeGenTBAA.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenTBAA::getAccessTagInfo(), llvm::DenseMapInfo< clang::CodeGen::TBAAAccessInfo >::getHashValue(), and operator==().

◆ BaseType

llvm::MDNode* clang::CodeGen::TBAAAccessInfo::BaseType

BaseType - The base/leading access type.

May be null if this access descriptor represents an access that is not considered to be an access to an aggregate or union member.

Definition at line 102 of file CodeGenTBAA.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenTBAA::getAccessTagInfo(), llvm::DenseMapInfo< clang::CodeGen::TBAAAccessInfo >::getHashValue(), and operator==().

◆ Kind

TBAAAccessKind clang::CodeGen::TBAAAccessInfo::Kind

Kind - The kind of the access descriptor.

Definition at line 97 of file CodeGenTBAA.h.

Referenced by llvm::DenseMapInfo< clang::CodeGen::TBAAAccessInfo >::getHashValue(), and operator==().

◆ Offset

uint64_t clang::CodeGen::TBAAAccessInfo::Offset

Offset - The byte offset of the final access within the base one.

Must be zero if the base access type is not specified.

Definition at line 110 of file CodeGenTBAA.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenTBAA::getAccessTagInfo(), llvm::DenseMapInfo< clang::CodeGen::TBAAAccessInfo >::getHashValue(), and operator==().

◆ Size

uint64_t clang::CodeGen::TBAAAccessInfo::Size

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