clang 22.0.0git
clang::CodeGen::TBAAAccessInfo Struct Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CodeGenTBAA.h"

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.
llvm::MDNode * BaseType
 BaseType - The base/leading access type.
llvm::MDNode * AccessType
 AccessType - The final access type.
uint64_t Offset
 Offset - The byte offset of the final access within the base one.
uint64_t Size
 Size - The size of access, in bytes.

Detailed Description

Definition at line 42 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

◆ TBAAAccessInfo() [2/4]

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

Definition at line 49 of file CodeGenTBAA.h.

References AccessType, BaseType, Offset, clang::CodeGen::Ordinary, Size, and TBAAAccessInfo().

◆ TBAAAccessInfo() [3/4]

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

Definition at line 55 of file CodeGenTBAA.h.

References AccessType, clang::nullptr, Size, and TBAAAccessInfo().

◆ TBAAAccessInfo() [4/4]

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

Definition at line 59 of file CodeGenTBAA.h.

References clang::nullptr, and TBAAAccessInfo().

Referenced by getIncompleteInfo(), getMayAliasInfo(), and operator bool().

Member Function Documentation

◆ getIncompleteInfo()

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

◆ getMayAliasInfo()

◆ isIncomplete()

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

◆ isMayAlias()

◆ operator bool()

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

Definition at line 91 of file CodeGenTBAA.h.

References TBAAAccessInfo().

◆ operator!=()

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

Definition at line 87 of file CodeGenTBAA.h.

References clang::Other, and TBAAAccessInfo().

◆ operator==()

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

Definition at line 79 of file CodeGenTBAA.h.

References AccessType, BaseType, Kind, Offset, clang::Other, Size, and TBAAAccessInfo().

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 105 of file CodeGenTBAA.h.

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

◆ 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 101 of file CodeGenTBAA.h.

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

◆ Kind

TBAAAccessKind clang::CodeGen::TBAAAccessInfo::Kind

Kind - The kind of the access descriptor.

Definition at line 96 of file CodeGenTBAA.h.

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

◆ 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 109 of file CodeGenTBAA.h.

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

◆ Size


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