LLVM API Documentation
#include <AttributeImpl.h>
Public Member Functions | |
virtual | ~AttributeImpl () |
bool | isEnumAttribute () const |
bool | isIntAttribute () const |
bool | isStringAttribute () const |
bool | hasAttribute (Attribute::AttrKind A) const |
bool | hasAttribute (StringRef Kind) const |
Attribute::AttrKind | getKindAsEnum () const |
uint64_t | getValueAsInt () const |
StringRef | getKindAsString () const |
StringRef | getValueAsString () const |
bool | operator< (const AttributeImpl &AI) const |
Used when sorting the attributes. | |
void | Profile (FoldingSetNodeID &ID) const |
Static Public Member Functions | |
static void | Profile (FoldingSetNodeID &ID, Attribute::AttrKind Kind, uint64_t Val) |
static void | Profile (FoldingSetNodeID &ID, StringRef Kind, StringRef Values) |
static uint64_t | getAttrMask (Attribute::AttrKind Val) |
Protected Types | |
enum | AttrEntryKind { EnumAttrEntry, IntAttrEntry, StringAttrEntry } |
Protected Member Functions | |
AttributeImpl (AttrEntryKind KindID) |
Definition at line 32 of file AttributeImpl.h.
enum llvm::AttributeImpl::AttrEntryKind [protected] |
Definition at line 40 of file AttributeImpl.h.
llvm::AttributeImpl::AttributeImpl | ( | AttrEntryKind | KindID | ) | [inline, protected] |
Definition at line 46 of file AttributeImpl.h.
AttributeImpl::~AttributeImpl | ( | ) | [virtual] |
Definition at line 325 of file Attributes.cpp.
uint64_t AttributeImpl::getAttrMask | ( | Attribute::AttrKind | Val | ) | [static] |
Definition at line 382 of file Attributes.cpp.
References llvm::Attribute::Alignment, llvm::Attribute::AlwaysInline, llvm::Attribute::Builtin, llvm::Attribute::ByVal, llvm::Attribute::Cold, llvm::Attribute::Dereferenceable, llvm::Attribute::EndAttrKinds, llvm::Attribute::InAlloca, llvm::Attribute::InlineHint, llvm::Attribute::InReg, llvm::Attribute::JumpTable, llvm_unreachable, llvm::Attribute::MinSize, llvm::Attribute::Naked, llvm::Attribute::Nest, llvm::Attribute::NoAlias, llvm::Attribute::NoBuiltin, llvm::Attribute::NoCapture, llvm::Attribute::NoDuplicate, llvm::Attribute::NoImplicitFloat, llvm::Attribute::NoInline, llvm::Attribute::None, llvm::Attribute::NonLazyBind, llvm::Attribute::NonNull, llvm::Attribute::NoRedZone, llvm::Attribute::NoReturn, llvm::Attribute::NoUnwind, llvm::Attribute::OptimizeForSize, llvm::Attribute::OptimizeNone, llvm::Attribute::ReadNone, llvm::Attribute::ReadOnly, llvm::Attribute::Returned, llvm::Attribute::ReturnsTwice, llvm::Attribute::SanitizeAddress, llvm::Attribute::SanitizeMemory, llvm::Attribute::SanitizeThread, llvm::Attribute::SExt, llvm::Attribute::StackAlignment, llvm::Attribute::StackProtect, llvm::Attribute::StackProtectReq, llvm::Attribute::StackProtectStrong, llvm::Attribute::StructRet, llvm::Attribute::UWTable, and llvm::Attribute::ZExt.
Referenced by llvm::AttrBuilder::addRawValue(), and llvm::AttributeSetImpl::Raw().
Definition at line 340 of file Attributes.cpp.
References isEnumAttribute(), and isIntAttribute().
Referenced by llvm::Attribute::getKindAsEnum(), hasAttribute(), operator<(), and Profile().
StringRef AttributeImpl::getKindAsString | ( | ) | const |
Definition at line 350 of file Attributes.cpp.
References isStringAttribute().
Referenced by llvm::Attribute::getKindAsString(), hasAttribute(), operator<(), and Profile().
uint64_t AttributeImpl::getValueAsInt | ( | ) | const |
Definition at line 345 of file Attributes.cpp.
References isIntAttribute().
Referenced by llvm::Attribute::getAlignment(), llvm::Attribute::getDereferenceableBytes(), llvm::Attribute::getStackAlignment(), llvm::Attribute::getValueAsInt(), operator<(), and Profile().
StringRef AttributeImpl::getValueAsString | ( | ) | const |
Definition at line 355 of file Attributes.cpp.
References isStringAttribute().
Referenced by llvm::Attribute::getAsString(), llvm::Attribute::getValueAsString(), operator<(), and Profile().
bool AttributeImpl::hasAttribute | ( | Attribute::AttrKind | A | ) | const |
Definition at line 330 of file Attributes.cpp.
References llvm::ARM_PROC::A, getKindAsEnum(), and isStringAttribute().
Referenced by llvm::Attribute::hasAttribute().
bool AttributeImpl::hasAttribute | ( | StringRef | Kind | ) | const |
Definition at line 335 of file Attributes.cpp.
References getKindAsString(), and isStringAttribute().
bool llvm::AttributeImpl::isEnumAttribute | ( | ) | const [inline] |
Definition at line 51 of file AttributeImpl.h.
References EnumAttrEntry.
Referenced by getKindAsEnum(), llvm::Attribute::isEnumAttribute(), operator<(), and Profile().
bool llvm::AttributeImpl::isIntAttribute | ( | ) | const [inline] |
Definition at line 52 of file AttributeImpl.h.
References IntAttrEntry.
Referenced by getKindAsEnum(), getValueAsInt(), llvm::Attribute::isIntAttribute(), operator<(), and Profile().
bool llvm::AttributeImpl::isStringAttribute | ( | ) | const [inline] |
Definition at line 53 of file AttributeImpl.h.
References StringAttrEntry.
Referenced by getKindAsString(), getValueAsString(), hasAttribute(), llvm::Attribute::isStringAttribute(), and operator<().
bool AttributeImpl::operator< | ( | const AttributeImpl & | AI | ) | const |
Used when sorting the attributes.
Definition at line 360 of file Attributes.cpp.
References getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), isEnumAttribute(), isIntAttribute(), and isStringAttribute().
void llvm::AttributeImpl::Profile | ( | FoldingSetNodeID & | ID | ) | const [inline] |
Definition at line 67 of file AttributeImpl.h.
References getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), isEnumAttribute(), and isIntAttribute().
static void llvm::AttributeImpl::Profile | ( | FoldingSetNodeID & | ID, |
Attribute::AttrKind | Kind, | ||
uint64_t | Val | ||
) | [inline, static] |
Definition at line 75 of file AttributeImpl.h.
References llvm::FoldingSetNodeID::AddInteger().
static void llvm::AttributeImpl::Profile | ( | FoldingSetNodeID & | ID, |
StringRef | Kind, | ||
StringRef | Values | ||
) | [inline, static] |
Definition at line 80 of file AttributeImpl.h.
References llvm::FoldingSetNodeID::AddString(), and llvm::StringRef::empty().