LLVM 20.0.0git
|
#include "IR/AttributeImpl.h"
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 Types | |
enum | AttrEntryKind { EnumAttrEntry , IntAttrEntry , StringAttrEntry , TypeAttrEntry , ConstantRangeAttrEntry , ConstantRangeListAttrEntry } |
Protected Member Functions | |
AttributeImpl (AttrEntryKind KindID) | |
Definition at line 42 of file AttributeImpl.h.
|
protected |
Enumerator | |
---|---|
EnumAttrEntry | |
IntAttrEntry | |
StringAttrEntry | |
TypeAttrEntry | |
ConstantRangeAttrEntry | |
ConstantRangeListAttrEntry |
Definition at line 46 of file AttributeImpl.h.
|
inlineprotected |
Definition at line 55 of file AttributeImpl.h.
|
delete |
Attribute::AttrKind AttributeImpl::getKindAsEnum | ( | ) | const |
Definition at line 768 of file Attributes.cpp.
References assert(), isConstantRangeAttribute(), isConstantRangeListAttribute(), isEnumAttribute(), isIntAttribute(), and isTypeAttribute().
Referenced by llvm::Attribute::getKindAsEnum(), hasAttribute(), operator<(), and Profile().
StringRef AttributeImpl::getKindAsString | ( | ) | const |
Definition at line 784 of file Attributes.cpp.
References assert(), and isStringAttribute().
Referenced by llvm::Attribute::getKindAsString(), hasAttribute(), operator<(), and Profile().
bool AttributeImpl::getValueAsBool | ( | ) | const |
Definition at line 779 of file Attributes.cpp.
References assert(), and getValueAsString().
Referenced by llvm::Attribute::getValueAsBool().
const ConstantRange & AttributeImpl::getValueAsConstantRange | ( | ) | const |
Definition at line 799 of file Attributes.cpp.
References assert(), and isConstantRangeAttribute().
Referenced by llvm::Attribute::getRange(), llvm::Attribute::getValueAsConstantRange(), and Profile().
ArrayRef< ConstantRange > AttributeImpl::getValueAsConstantRangeList | ( | ) | const |
Definition at line 805 of file Attributes.cpp.
References assert(), and isConstantRangeListAttribute().
Referenced by llvm::Attribute::getInitializes(), llvm::Attribute::getValueAsConstantRangeList(), and Profile().
uint64_t AttributeImpl::getValueAsInt | ( | ) | const |
Definition at line 774 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 789 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 794 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 758 of file Attributes.cpp.
References A, getKindAsEnum(), and isStringAttribute().
Referenced by llvm::Attribute::hasAttribute().
Definition at line 763 of file Attributes.cpp.
References getKindAsString(), and isStringAttribute().
|
inline |
Definition at line 66 of file AttributeImpl.h.
References ConstantRangeAttrEntry.
Referenced by getKindAsEnum(), getValueAsConstantRange(), llvm::Attribute::isConstantRangeAttribute(), operator<(), and Profile().
|
inline |
Definition at line 69 of file AttributeImpl.h.
References ConstantRangeListAttrEntry.
Referenced by getKindAsEnum(), getValueAsConstantRangeList(), llvm::Attribute::isConstantRangeListAttribute(), and operator<().
|
inline |
Definition at line 62 of file AttributeImpl.h.
References EnumAttrEntry.
Referenced by getKindAsEnum(), llvm::Attribute::isEnumAttribute(), operator<(), and Profile().
|
inline |
Definition at line 63 of file AttributeImpl.h.
References IntAttrEntry.
Referenced by getKindAsEnum(), getValueAsInt(), llvm::Attribute::isIntAttribute(), operator<(), and Profile().
|
inline |
Definition at line 64 of file AttributeImpl.h.
References StringAttrEntry.
Referenced by getKindAsString(), getValueAsString(), hasAttribute(), llvm::Attribute::isStringAttribute(), operator<(), and Profile().
|
inline |
Definition at line 65 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 811 of file Attributes.cpp.
References assert(), getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), isConstantRangeAttribute(), isConstantRangeListAttribute(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), and isTypeAttribute().
|
delete |
|
inline |
Definition at line 92 of file AttributeImpl.h.
References getKindAsEnum(), getKindAsString(), getValueAsConstantRange(), getValueAsConstantRangeList(), getValueAsInt(), getValueAsString(), getValueAsType(), isConstantRangeAttribute(), isEnumAttribute(), isIntAttribute(), isStringAttribute(), isTypeAttribute(), and Profile.
Referenced by llvm::Attribute::hasParentContext().
|
inlinestatic |
Definition at line 107 of file AttributeImpl.h.
References assert(), and llvm::Attribute::isEnumAttrKind().
|
inlinestatic |
Definition at line 137 of file AttributeImpl.h.
References llvm::ArrayRef< T >::size().
|
inlinestatic |
Definition at line 130 of file AttributeImpl.h.
References llvm::ConstantRange::getLower(), llvm::ConstantRange::getUpper(), and llvm::APInt::Profile().
|
inlinestatic |
Definition at line 124 of file AttributeImpl.h.
|
inlinestatic |
Definition at line 112 of file AttributeImpl.h.
References assert(), and llvm::Attribute::isIntAttrKind().
|
inlinestatic |
Definition at line 119 of file AttributeImpl.h.
References llvm::StringRef::empty().