LLVM 18.0.0git
|
#include "IR/AttributeImpl.h"
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 | 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 |
bool | operator< (const AttributeImpl &AI) const |
Used when sorting the attributes. | |
void | Profile (FoldingSetNodeID &ID) const |
![]() | |
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) |
Protected Types | |
enum | AttrEntryKind { EnumAttrEntry , IntAttrEntry , StringAttrEntry , TypeAttrEntry } |
Protected Member Functions | |
AttributeImpl (AttrEntryKind KindID) | |
Definition at line 40 of file AttributeImpl.h.
|
protected |
Enumerator | |
---|---|
EnumAttrEntry | |
IntAttrEntry | |
StringAttrEntry | |
TypeAttrEntry |
Definition at line 44 of file AttributeImpl.h.
|
inlineprotected |
Definition at line 51 of file AttributeImpl.h.
|
delete |
Attribute::AttrKind AttributeImpl::getKindAsEnum | ( | ) | const |
Definition at line 653 of file Attributes.cpp.
References assert(), isEnumAttribute(), isIntAttribute(), and isTypeAttribute().
Referenced by llvm::Attribute::getKindAsEnum(), hasAttribute(), operator<(), and Profile().
StringRef AttributeImpl::getKindAsString | ( | ) | const |
Definition at line 668 of file Attributes.cpp.
References assert(), and isStringAttribute().
Referenced by llvm::Attribute::getKindAsString(), hasAttribute(), operator<(), and Profile().
bool AttributeImpl::getValueAsBool | ( | ) | const |
Definition at line 663 of file Attributes.cpp.
References assert(), and getValueAsString().
Referenced by llvm::Attribute::getValueAsBool().
uint64_t AttributeImpl::getValueAsInt | ( | ) | const |
Definition at line 658 of file Attributes.cpp.
References assert(), and isIntAttribute().
Referenced by llvm::Attribute::getAlignment(), llvm::Attribute::getAllocKind(), llvm::Attribute::getAllocSizeArgs(), llvm::Attribute::getDereferenceableBytes(), llvm::Attribute::getDereferenceableOrNullBytes(), llvm::Attribute::getMemoryEffects(), llvm::Attribute::getNoFPClass(), llvm::Attribute::getStackAlignment(), llvm::Attribute::getUWTableKind(), llvm::Attribute::getValueAsInt(), llvm::Attribute::getVScaleRangeMax(), llvm::Attribute::getVScaleRangeMin(), operator<(), and Profile().
StringRef AttributeImpl::getValueAsString | ( | ) | const |
Definition at line 673 of file Attributes.cpp.
References assert(), and isStringAttribute().
Referenced by llvm::Attribute::getAsString(), getValueAsBool(), llvm::Attribute::getValueAsString(), operator<(), and Profile().
Type * AttributeImpl::getValueAsType | ( | ) | const |
Definition at line 678 of file Attributes.cpp.
References assert(), and isTypeAttribute().
Referenced by llvm::Attribute::getValueAsType(), and Profile().
bool AttributeImpl::hasAttribute | ( | Attribute::AttrKind | A | ) | const |
Definition at line 643 of file Attributes.cpp.
References A, getKindAsEnum(), and isStringAttribute().
Referenced by llvm::Attribute::hasAttribute().
Definition at line 648 of file Attributes.cpp.
References getKindAsString(), and isStringAttribute().
|
inline |
Definition at line 58 of file AttributeImpl.h.
References EnumAttrEntry.
Referenced by getKindAsEnum(), llvm::Attribute::isEnumAttribute(), operator<(), and Profile().
|
inline |
Definition at line 59 of file AttributeImpl.h.
References IntAttrEntry.
Referenced by getKindAsEnum(), getValueAsInt(), llvm::Attribute::isIntAttribute(), operator<(), and Profile().
|
inline |
Definition at line 60 of file AttributeImpl.h.
References StringAttrEntry.
Referenced by getKindAsString(), getValueAsString(), hasAttribute(), llvm::Attribute::isStringAttribute(), operator<(), and Profile().
|
inline |
Definition at line 61 of file AttributeImpl.h.
References TypeAttrEntry.
Referenced by getKindAsEnum(), getValueAsType(), llvm::Attribute::isTypeAttribute(), and operator<().
bool AttributeImpl::operator< | ( | const AttributeImpl & | AI | ) | const |
Used when sorting the attributes.
Definition at line 683 of file Attributes.cpp.
References assert(), getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), and isTypeAttribute().
|
delete |
|
inline |
Definition at line 78 of file AttributeImpl.h.
References getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), getValueAsType(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), and Profile.
Referenced by llvm::Attribute::hasParentContext().
|
inlinestatic |
Definition at line 89 of file AttributeImpl.h.
References assert(), and llvm::Attribute::isEnumAttrKind().
|
inlinestatic |
Definition at line 106 of file AttributeImpl.h.
|
inlinestatic |
Definition at line 94 of file AttributeImpl.h.
References assert(), and llvm::Attribute::isIntAttrKind().
|
inlinestatic |
Definition at line 101 of file AttributeImpl.h.
References llvm::StringRef::empty().