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

#include "IR/AttributeImpl.h"

Inheritance diagram for llvm::AttributeImpl:
Inheritance graph

Public Member Functions

 AttributeImpl (const AttributeImpl &)=delete
AttributeImploperator= (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
TypegetValueAsType () 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)

Protected Types

enum  AttrEntryKind { EnumAttrEntry , IntAttrEntry , StringAttrEntry , TypeAttrEntry }

Protected Member Functions

 AttributeImpl (AttrEntryKind KindID)

Detailed Description

Definition at line 40 of file AttributeImpl.h.

Member Enumeration Documentation

◆ AttrEntryKind


Definition at line 44 of file AttributeImpl.h.

Constructor & Destructor Documentation

◆ AttributeImpl() [1/2]

llvm::AttributeImpl::AttributeImpl ( AttrEntryKind  KindID)

Definition at line 51 of file AttributeImpl.h.

◆ AttributeImpl() [2/2]

llvm::AttributeImpl::AttributeImpl ( const AttributeImpl )

Member Function Documentation

◆ getKindAsEnum()

Attribute::AttrKind AttributeImpl::getKindAsEnum ( ) const

◆ getKindAsString()

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().

◆ getValueAsBool()

bool AttributeImpl::getValueAsBool ( ) const

Definition at line 663 of file Attributes.cpp.

References assert(), and getValueAsString().

Referenced by llvm::Attribute::getValueAsBool().

◆ getValueAsInt()

uint64_t AttributeImpl::getValueAsInt ( ) const

◆ getValueAsString()

StringRef AttributeImpl::getValueAsString ( ) const

◆ getValueAsType()

Type * AttributeImpl::getValueAsType ( ) const

Definition at line 678 of file Attributes.cpp.

References assert(), and isTypeAttribute().

Referenced by llvm::Attribute::getValueAsType(), and Profile().

◆ hasAttribute() [1/2]

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().

◆ hasAttribute() [2/2]

bool AttributeImpl::hasAttribute ( StringRef  Kind) const

Definition at line 648 of file Attributes.cpp.

References getKindAsString(), and isStringAttribute().

◆ isEnumAttribute()

bool llvm::AttributeImpl::isEnumAttribute ( ) const

Definition at line 58 of file AttributeImpl.h.

References EnumAttrEntry.

Referenced by getKindAsEnum(), llvm::Attribute::isEnumAttribute(), operator<(), and Profile().

◆ isIntAttribute()

bool llvm::AttributeImpl::isIntAttribute ( ) const

◆ isStringAttribute()

bool llvm::AttributeImpl::isStringAttribute ( ) const

◆ isTypeAttribute()

bool llvm::AttributeImpl::isTypeAttribute ( ) const

◆ operator<()

bool AttributeImpl::operator< ( const AttributeImpl AI) const

◆ operator=()

AttributeImpl & llvm::AttributeImpl::operator= ( const AttributeImpl )

◆ Profile() [1/5]

void llvm::AttributeImpl::Profile ( FoldingSetNodeID ID) const

◆ Profile() [2/5]

static void llvm::AttributeImpl::Profile ( FoldingSetNodeID ID,
Attribute::AttrKind  Kind 

Definition at line 89 of file AttributeImpl.h.

References assert(), and llvm::Attribute::isEnumAttrKind().

◆ Profile() [3/5]

static void llvm::AttributeImpl::Profile ( FoldingSetNodeID ID,
Attribute::AttrKind  Kind,
Type Ty 

Definition at line 106 of file AttributeImpl.h.

◆ Profile() [4/5]

static void llvm::AttributeImpl::Profile ( FoldingSetNodeID ID,
Attribute::AttrKind  Kind,
uint64_t  Val 

Definition at line 94 of file AttributeImpl.h.

References assert(), and llvm::Attribute::isIntAttrKind().

◆ Profile() [5/5]

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

Definition at line 101 of file AttributeImpl.h.

References llvm::StringRef::empty().

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