LLVM  3.7.0
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | List of all members
llvm::AttributeImpl Class Reference

#include <AttributeImpl.h>

Inheritance diagram for llvm::AttributeImpl:
[legend]
Collaboration diagram for llvm::AttributeImpl:
[legend]

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. More...
 
void Profile (FoldingSetNodeID &ID) const
 
- Public Member Functions inherited from llvm::FoldingSetImpl::Node
 Node ()
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 

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)
 

Detailed Description

Definition at line 32 of file AttributeImpl.h.

Member Enumeration Documentation

Enumerator
EnumAttrEntry 
IntAttrEntry 
StringAttrEntry 

Definition at line 40 of file AttributeImpl.h.

Constructor & Destructor Documentation

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

Definition at line 46 of file AttributeImpl.h.

AttributeImpl::~AttributeImpl ( )
virtual

Definition at line 339 of file Attributes.cpp.

Member Function Documentation

uint64_t AttributeImpl::getAttrMask ( Attribute::AttrKind  Val)
static

Definition at line 396 of file Attributes.cpp.

References llvm::Attribute::Alignment, llvm::Attribute::AlwaysInline, llvm::Attribute::ArgMemOnly, llvm::Attribute::Builtin, llvm::Attribute::ByVal, llvm::Attribute::Cold, llvm::Attribute::Convergent, llvm::Attribute::Dereferenceable, llvm::Attribute::DereferenceableOrNull, 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::SafeStack, 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().

Attribute::AttrKind AttributeImpl::getKindAsEnum ( ) const
StringRef AttributeImpl::getKindAsString ( ) const

Definition at line 364 of file Attributes.cpp.

References isStringAttribute().

Referenced by llvm::Attribute::getKindAsString(), hasAttribute(), operator<(), and Profile().

uint64_t AttributeImpl::getValueAsInt ( ) const
StringRef AttributeImpl::getValueAsString ( ) const
bool AttributeImpl::hasAttribute ( Attribute::AttrKind  A) const

Definition at line 344 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 349 of file Attributes.cpp.

References getKindAsString(), isStringAttribute(), and Kind.

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
bool llvm::AttributeImpl::isStringAttribute ( ) const
inline
bool AttributeImpl::operator< ( const AttributeImpl AI) const

Used when sorting the attributes.

Definition at line 374 of file Attributes.cpp.

References getKindAsEnum(), getKindAsString(), getValueAsInt(), getValueAsString(), isEnumAttribute(), isIntAttribute(), and isStringAttribute().

void llvm::AttributeImpl::Profile ( FoldingSetNodeID ID) const
inline
static void llvm::AttributeImpl::Profile ( FoldingSetNodeID ID,
Attribute::AttrKind  Kind,
uint64_t  Val 
)
inlinestatic

Definition at line 75 of file AttributeImpl.h.

References llvm::FoldingSetNodeID::AddInteger().

static void llvm::AttributeImpl::Profile ( FoldingSetNodeID ID,
StringRef  Kind,
StringRef  Values 
)
inlinestatic

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