LLVM 19.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 | isConstantRangeAttribute () 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 |
ConstantRange | getValueAsConstantRange () const |
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) |
Protected Types | |
enum | AttrEntryKind { EnumAttrEntry , IntAttrEntry , StringAttrEntry , TypeAttrEntry , ConstantRangeAttrEntry } |
Protected Member Functions | |
AttributeImpl (AttrEntryKind KindID) | |
Definition at line 41 of file AttributeImpl.h.
|
protected |
Enumerator | |
---|---|
EnumAttrEntry | |
IntAttrEntry | |
StringAttrEntry | |
TypeAttrEntry | |
ConstantRangeAttrEntry |
Definition at line 45 of file AttributeImpl.h.
|
inlineprotected |
Definition at line 53 of file AttributeImpl.h.
|
delete |
Attribute::AttrKind AttributeImpl::getKindAsEnum | ( | ) | const |
Definition at line 707 of file Attributes.cpp.
References assert(), isConstantRangeAttribute(), isEnumAttribute(), isIntAttribute(), and isTypeAttribute().
Referenced by llvm::Attribute::getKindAsEnum(), hasAttribute(), operator<(), and Profile().
StringRef AttributeImpl::getKindAsString | ( | ) | const |
Definition at line 723 of file Attributes.cpp.
References assert(), and isStringAttribute().
Referenced by llvm::Attribute::getKindAsString(), hasAttribute(), operator<(), and Profile().
bool AttributeImpl::getValueAsBool | ( | ) | const |
Definition at line 718 of file Attributes.cpp.
References assert(), and getValueAsString().
Referenced by llvm::Attribute::getValueAsBool().
ConstantRange AttributeImpl::getValueAsConstantRange | ( | ) | const |
Definition at line 738 of file Attributes.cpp.
References assert(), and isConstantRangeAttribute().
Referenced by llvm::Attribute::getRange(), llvm::Attribute::getValueAsConstantRange(), and Profile().
uint64_t AttributeImpl::getValueAsInt | ( | ) | const |
Definition at line 713 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 728 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 733 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 697 of file Attributes.cpp.
References A, getKindAsEnum(), and isStringAttribute().
Referenced by llvm::Attribute::hasAttribute().
Definition at line 702 of file Attributes.cpp.
References getKindAsString(), and isStringAttribute().
|
inline |
Definition at line 64 of file AttributeImpl.h.
References ConstantRangeAttrEntry.
Referenced by getKindAsEnum(), getValueAsConstantRange(), llvm::Attribute::isConstantRangeAttribute(), and operator<().
|
inline |
Definition at line 60 of file AttributeImpl.h.
References EnumAttrEntry.
Referenced by getKindAsEnum(), llvm::Attribute::isEnumAttribute(), operator<(), and Profile().
|
inline |
Definition at line 61 of file AttributeImpl.h.
References IntAttrEntry.
Referenced by getKindAsEnum(), getValueAsInt(), llvm::Attribute::isIntAttribute(), operator<(), and Profile().
|
inline |
Definition at line 62 of file AttributeImpl.h.
References StringAttrEntry.
Referenced by getKindAsString(), getValueAsString(), hasAttribute(), llvm::Attribute::isStringAttribute(), operator<(), and Profile().
|
inline |
Definition at line 63 of file AttributeImpl.h.
References TypeAttrEntry.
Referenced by getKindAsEnum(), getValueAsType(), llvm::Attribute::isTypeAttribute(), operator<(), and Profile().
bool AttributeImpl::operator< | ( | const AttributeImpl & | AI | ) | const |
Used when sorting the attributes.
Definition at line 744 of file Attributes.cpp.
References assert(), getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), isConstantRangeAttribute(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), and isTypeAttribute().
|
delete |
|
inline |
Definition at line 85 of file AttributeImpl.h.
References getKindAsEnum(), getKindAsString(), getValueAsConstantRange(), getValueAsInt(), getValueAsString(), getValueAsType(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), isTypeAttribute(), and Profile.
Referenced by llvm::Attribute::hasParentContext().
|
inlinestatic |
Definition at line 98 of file AttributeImpl.h.
References assert(), and llvm::Attribute::isEnumAttrKind().
|
inlinestatic |
Definition at line 121 of file AttributeImpl.h.
References llvm::ConstantRange::getLower(), and llvm::ConstantRange::getUpper().
|
inlinestatic |
Definition at line 115 of file AttributeImpl.h.
|
inlinestatic |
Definition at line 103 of file AttributeImpl.h.
References assert(), and llvm::Attribute::isIntAttrKind().
|
inlinestatic |
Definition at line 110 of file AttributeImpl.h.
References llvm::StringRef::empty().