LLVM  13.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::AttributeSetNode Class Referencefinal

#include "IR/AttributeImpl.h"

Inheritance diagram for llvm::AttributeSetNode:
Inheritance graph
[legend]
Collaboration diagram for llvm::AttributeSetNode:
Collaboration graph
[legend]

Public Types

using iterator = const Attribute *
 

Public Member Functions

 AttributeSetNode (const AttributeSetNode &)=delete
 
AttributeSetNodeoperator= (const AttributeSetNode &)=delete
 
void operator delete (void *p)
 
unsigned getNumAttributes () const
 Return the number of attributes this AttributeList contains. More...
 
bool hasAttribute (Attribute::AttrKind Kind) const
 
bool hasAttribute (StringRef Kind) const
 
bool hasAttributes () const
 
Attribute getAttribute (Attribute::AttrKind Kind) const
 
Attribute getAttribute (StringRef Kind) const
 
MaybeAlign getAlignment () const
 
MaybeAlign getStackAlignment () const
 
uint64_t getDereferenceableBytes () const
 
uint64_t getDereferenceableOrNullBytes () const
 
std::pair< unsigned, Optional< unsigned > > getAllocSizeArgs () const
 
std::pair< unsigned, unsigned > getVScaleRangeArgs () const
 
std::string getAsString (bool InAttrGrp) const
 
TypegetByValType () const
 
TypegetStructRetType () const
 
TypegetByRefType () const
 
TypegetPreallocatedType () const
 
TypegetInAllocaType () const
 
iterator begin () const
 
iterator end () const
 
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 AttributeSetNodeget (LLVMContext &C, const AttrBuilder &B)
 
static AttributeSetNodeget (LLVMContext &C, ArrayRef< Attribute > Attrs)
 
static void Profile (FoldingSetNodeID &ID, ArrayRef< Attribute > AttrList)
 

Detailed Description

Definition at line 212 of file AttributeImpl.h.

Member Typedef Documentation

◆ iterator

Definition at line 264 of file AttributeImpl.h.

Constructor & Destructor Documentation

◆ AttributeSetNode()

llvm::AttributeSetNode::AttributeSetNode ( const AttributeSetNode )
delete

Member Function Documentation

◆ begin()

iterator llvm::AttributeSetNode::begin ( ) const
inline

Definition at line 266 of file AttributeImpl.h.

Referenced by llvm::AttributeSet::begin(), end(), getAsString(), and Profile().

◆ end()

iterator llvm::AttributeSetNode::end ( ) const
inline

Definition at line 267 of file AttributeImpl.h.

References begin().

Referenced by llvm::AttributeSet::end(), getAsString(), and Profile().

◆ get() [1/2]

AttributeSetNode * AttributeSetNode::get ( LLVMContext C,
ArrayRef< Attribute Attrs 
)
static

Definition at line 899 of file Attributes.cpp.

References Attrs, llvm::Function::begin(), llvm::Function::end(), and llvm::sort().

◆ get() [2/2]

AttributeSetNode * AttributeSetNode::get ( LLVMContext C,
const AttrBuilder B 
)
static

◆ getAlignment()

MaybeAlign AttributeSetNode::getAlignment ( ) const

Definition at line 1031 of file Attributes.cpp.

References A, and llvm::None.

Referenced by llvm::AttributeSet::getAlignment().

◆ getAllocSizeArgs()

std::pair< unsigned, Optional< unsigned > > AttributeSetNode::getAllocSizeArgs ( ) const

Definition at line 1086 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getAllocSizeArgs().

◆ getAsString()

std::string AttributeSetNode::getAsString ( bool  InAttrGrp) const

Definition at line 1098 of file Attributes.cpp.

References begin(), E, end(), and I.

Referenced by llvm::AttributeSet::getAsString().

◆ getAttribute() [1/2]

Attribute AttributeSetNode::getAttribute ( Attribute::AttrKind  Kind) const

Definition at line 1021 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getAttribute().

◆ getAttribute() [2/2]

Attribute AttributeSetNode::getAttribute ( StringRef  Kind) const

Definition at line 1027 of file Attributes.cpp.

◆ getByRefType()

Type * AttributeSetNode::getByRefType ( ) const

Definition at line 1055 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getByRefType().

◆ getByValType()

Type * AttributeSetNode::getByValType ( ) const

Definition at line 1043 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getByValType().

◆ getDereferenceableBytes()

uint64_t AttributeSetNode::getDereferenceableBytes ( ) const

Definition at line 1073 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getDereferenceableBytes().

◆ getDereferenceableOrNullBytes()

uint64_t AttributeSetNode::getDereferenceableOrNullBytes ( ) const

Definition at line 1079 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getDereferenceableOrNullBytes().

◆ getInAllocaType()

Type * AttributeSetNode::getInAllocaType ( ) const

Definition at line 1067 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getInAllocaType().

◆ getNumAttributes()

unsigned llvm::AttributeSetNode::getNumAttributes ( ) const
inline

Return the number of attributes this AttributeList contains.

Definition at line 240 of file AttributeImpl.h.

Referenced by llvm::AttributeSet::getNumAttributes().

◆ getPreallocatedType()

Type * AttributeSetNode::getPreallocatedType ( ) const

Definition at line 1061 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getPreallocatedType().

◆ getStackAlignment()

MaybeAlign AttributeSetNode::getStackAlignment ( ) const

Definition at line 1037 of file Attributes.cpp.

References A, and llvm::None.

Referenced by llvm::AttributeSet::getStackAlignment().

◆ getStructRetType()

Type * AttributeSetNode::getStructRetType ( ) const

Definition at line 1049 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getStructRetType().

◆ getVScaleRangeArgs()

std::pair< unsigned, unsigned > AttributeSetNode::getVScaleRangeArgs ( ) const

Definition at line 1092 of file Attributes.cpp.

References A.

Referenced by llvm::AttributeSet::getVScaleRangeArgs().

◆ hasAttribute() [1/2]

bool llvm::AttributeSetNode::hasAttribute ( Attribute::AttrKind  Kind) const
inline

Definition at line 242 of file AttributeImpl.h.

References llvm::AttributeBitSet::hasAttribute().

Referenced by llvm::AttributeSet::hasAttribute().

◆ hasAttribute() [2/2]

bool AttributeSetNode::hasAttribute ( StringRef  Kind) const

Definition at line 1000 of file Attributes.cpp.

◆ hasAttributes()

bool llvm::AttributeSetNode::hasAttributes ( ) const
inline

Definition at line 246 of file AttributeImpl.h.

◆ operator delete()

void llvm::AttributeSetNode::operator delete ( void *  p)
inline

Definition at line 233 of file AttributeImpl.h.

References p.

◆ operator=()

AttributeSetNode& llvm::AttributeSetNode::operator= ( const AttributeSetNode )
delete

◆ Profile() [1/2]

void llvm::AttributeSetNode::Profile ( FoldingSetNodeID ID) const
inline

Definition at line 269 of file AttributeImpl.h.

References begin(), end(), and llvm::makeArrayRef().

Referenced by llvm::AttributeSet::hasParentContext().

◆ Profile() [2/2]

static void llvm::AttributeSetNode::Profile ( FoldingSetNodeID ID,
ArrayRef< Attribute AttrList 
)
inlinestatic

Definition at line 273 of file AttributeImpl.h.


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