LLVM: llvm::AttributeImpl Class Reference (original) (raw)

This class represents a single, uniqued attribute. More...

#include "[IR/AttributeImpl.h](AttributeImpl%5F8h%5Fsource.html)"

Public Member Functions
AttributeImpl (const AttributeImpl &)=delete
AttributeImpl & operator= (const AttributeImpl &)=delete
bool isEnumAttribute () const
bool isIntAttribute () const
bool isStringAttribute () const
bool isTypeAttribute () const
bool isConstantRangeAttribute () const
bool isConstantRangeListAttribute () const
bool hasAttribute (Attribute::AttrKind A) const
bool hasAttribute (StringRef Kind) const
Attribute::AttrKind getKindAsEnum () const
uint64_t getValueAsInt () const
bool getValueAsBool () const
StringRef getKindAsString () const
StringRef getValueAsString () const
Type * getValueAsType () const
const ConstantRange & getValueAsConstantRange () const
ArrayRef< ConstantRange > getValueAsConstantRangeList () const
int cmp (const AttributeImpl &AI, bool KindOnly) const
Used to sort attributes.
bool operator< (const AttributeImpl &AI) const
Used when sorting the attributes.
void Profile (FoldingSetNodeID &ID) const
Public Member Functions inherited from llvm::FoldingSetBase::Node
Node ()=default
void * getNextInBucket () const
void SetNextInBucket (void *N)
Static Public Member Functions
static void Profile (FoldingSetNodeID &ID, Attribute::AttrKind Kind)
static void Profile (FoldingSetNodeID &ID, Attribute::AttrKind Kind, uint64_t Val)
static void Profile (FoldingSetNodeID &ID, StringRef Kind, StringRef Values)
static void Profile (FoldingSetNodeID &ID, Attribute::AttrKind Kind, Type *Ty)
static void Profile (FoldingSetNodeID &ID, Attribute::AttrKind Kind, const ConstantRange &CR)
static void Profile (FoldingSetNodeID &ID, Attribute::AttrKind Kind, ArrayRef< ConstantRange > Val)
Protected Member Functions

This class represents a single, uniqued attribute.

That attribute could be a single enum, a tuple, or a string.

Definition at line 42 of file AttributeImpl.h.

AttrEntryKind

Enumerator
EnumAttrEntry
IntAttrEntry
StringAttrEntry
TypeAttrEntry
ConstantRangeAttrEntry
ConstantRangeListAttrEntry

Definition at line 46 of file AttributeImpl.h.

llvm::AttributeImpl::AttributeImpl ( AttrEntryKind KindID) inlineprotected

AttributeImpl() [2/2]

cmp()

Used to sort attributes.

KindOnly controls if the sort includes the attributes' values or just the kind.

Definition at line 884 of file Attributes.cpp.

References assert(), AttributeImpl(), llvm::StringRef::compare(), getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), isConstantRangeAttribute(), isConstantRangeListAttribute(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), and isTypeAttribute().

Referenced by operator<().

getKindAsEnum()

getKindAsString()

StringRef AttributeImpl::getKindAsString ( ) const

getValueAsBool()

bool AttributeImpl::getValueAsBool ( ) const

getValueAsConstantRange()

getValueAsConstantRangeList()

getValueAsInt()

uint64_t AttributeImpl::getValueAsInt ( ) const

getValueAsString()

StringRef AttributeImpl::getValueAsString ( ) const

getValueAsType()

Type * AttributeImpl::getValueAsType ( ) const

hasAttribute() [1/2]

hasAttribute() [2/2]

isConstantRangeAttribute()

bool llvm::AttributeImpl::isConstantRangeAttribute ( ) const inline

isConstantRangeListAttribute()

bool llvm::AttributeImpl::isConstantRangeListAttribute ( ) const inline

isEnumAttribute()

bool llvm::AttributeImpl::isEnumAttribute ( ) const inline

isIntAttribute()

bool llvm::AttributeImpl::isIntAttribute ( ) const inline

isStringAttribute()

bool llvm::AttributeImpl::isStringAttribute ( ) const inline

isTypeAttribute()

bool llvm::AttributeImpl::isTypeAttribute ( ) const inline

operator<()

operator=()

Profile() [1/7]

Definition at line 95 of file AttributeImpl.h.

References getKindAsEnum(), getKindAsString(), getValueAsConstantRange(), getValueAsConstantRangeList(), getValueAsInt(), getValueAsString(), getValueAsType(), isConstantRangeAttribute(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), isTypeAttribute(), and Profile.

Profile() [2/7]

Profile() [3/7]

Profile() [4/7]

Profile() [5/7]

Profile() [6/7]

Profile() [7/7]


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