class AttributeSetNode
Declaration
class AttributeSetNode : public Node, private TrailingObjects { /* full declaration omitted */ };
Description
This class represents a group of attributes that apply to one element: function, return type, or parameter.
Declared at: llvm/lib/IR/AttributeImpl.h:212
Inherits from: FoldingSetBase::Node, TrailingObjects
Member Variables
- private unsigned int NumAttrs
- Number of attributes in this node.
- private llvm::AttributeBitSet AvailableAttrs
- Available enum attributes.
- private DenseMap<llvm::StringRef, llvm::Attribute> StringAttrs
Method Overview
- private AttributeSetNode(ArrayRef<llvm::Attribute> Attrs)
- public AttributeSetNode(const llvm::AttributeSetNode &)
- public static void Profile(llvm::FoldingSetNodeID & ID, ArrayRef<llvm::Attribute> AttrList)
- public void Profile(llvm::FoldingSetNodeID & ID) const
- public llvm::AttributeSetNode::iterator begin() const
- public llvm::AttributeSetNode::iterator end() const
- private Optional<llvm::Attribute> findEnumAttribute(Attribute::AttrKind Kind) const
- public static llvm::AttributeSetNode * get(llvm::LLVMContext & C, const llvm::AttrBuilder & B)
- public static llvm::AttributeSetNode * get(llvm::LLVMContext & C, ArrayRef<llvm::Attribute> Attrs)
- public llvm::MaybeAlign getAlignment() const
- public llvm::AllocFnKind getAllocKind() const
- public std::pair<unsigned int, Optional<unsigned int>> getAllocSizeArgs() const
- public std::string getAsString(bool InAttrGrp) const
- public llvm::Attribute getAttribute(llvm::StringRef Kind) const
- public llvm::Attribute getAttribute(Attribute::AttrKind Kind) const
- public llvm::Type * getAttributeType(Attribute::AttrKind Kind) const
- public uint64_t getDereferenceableBytes() const
- public uint64_t getDereferenceableOrNullBytes() const
- public unsigned int getNumAttributes() const
- private static llvm::AttributeSetNode * getSorted(llvm::LLVMContext & C, ArrayRef<llvm::Attribute> SortedAttrs)
- public llvm::MaybeAlign getStackAlignment() const
- public llvm::UWTableKind getUWTableKind() const
- public Optional<unsigned int> getVScaleRangeMax() const
- public unsigned int getVScaleRangeMin() const
- public bool hasAttribute(llvm::StringRef Kind) const
- public bool hasAttribute(Attribute::AttrKind Kind) const
- public bool hasAttributes() const
Inherited from FoldingSetBase::Node:
Methods
¶AttributeSetNode(ArrayRef<llvm::Attribute> Attrs)
AttributeSetNode(ArrayRef<llvm::Attribute> Attrs)
Declared at: llvm/lib/IR/AttributeImpl.h:222
Parameters
- ArrayRef<llvm::Attribute> Attrs
¶AttributeSetNode(const llvm::AttributeSetNode&)
AttributeSetNode(const llvm::AttributeSetNode&)
Declared at: llvm/lib/IR/AttributeImpl.h:230
Parameters
- const llvm::AttributeSetNode&
¶static void Profile(
llvm::FoldingSetNodeID& ID,
ArrayRef<llvm::Attribute> AttrList)
static void Profile(
llvm::FoldingSetNodeID& ID,
ArrayRef<llvm::Attribute> AttrList)
Declared at: llvm/lib/IR/AttributeImpl.h:272
Parameters
- llvm::FoldingSetNodeID& ID
- ArrayRef<llvm::Attribute> AttrList
¶void Profile(llvm::FoldingSetNodeID& ID) const
void Profile(llvm::FoldingSetNodeID& ID) const
Declared at: llvm/lib/IR/AttributeImpl.h:268
Parameters
¶llvm::AttributeSetNode::iterator begin() const
llvm::AttributeSetNode::iterator begin() const
Declared at: llvm/lib/IR/AttributeImpl.h:265
¶llvm::AttributeSetNode::iterator end() const
llvm::AttributeSetNode::iterator end() const
Declared at: llvm/lib/IR/AttributeImpl.h:266
¶Optional<llvm::Attribute> findEnumAttribute(
Attribute::AttrKind Kind) const
Optional<llvm::Attribute> findEnumAttribute(
Attribute::AttrKind Kind) const
Declared at: llvm/lib/IR/AttributeImpl.h:226
Parameters
- Attribute::AttrKind Kind
¶static llvm::AttributeSetNode* get(
llvm::LLVMContext& C,
const llvm::AttrBuilder& B)
static llvm::AttributeSetNode* get(
llvm::LLVMContext& C,
const llvm::AttrBuilder& B)
Declared at: llvm/lib/IR/AttributeImpl.h:235
Parameters
- llvm::LLVMContext& C
- const llvm::AttrBuilder& B
¶static llvm::AttributeSetNode* get(
llvm::LLVMContext& C,
ArrayRef<llvm::Attribute> Attrs)
static llvm::AttributeSetNode* get(
llvm::LLVMContext& C,
ArrayRef<llvm::Attribute> Attrs)
Declared at: llvm/lib/IR/AttributeImpl.h:237
Parameters
- llvm::LLVMContext& C
- ArrayRef<llvm::Attribute> Attrs
¶llvm::MaybeAlign getAlignment() const
llvm::MaybeAlign getAlignment() const
Declared at: llvm/lib/IR/AttributeImpl.h:251
¶llvm::AllocFnKind getAllocKind() const
llvm::AllocFnKind getAllocKind() const
Declared at: llvm/lib/IR/AttributeImpl.h:259
¶std::pair<unsigned int, Optional<unsigned int>>
getAllocSizeArgs() const
std::pair<unsigned int, Optional<unsigned int>>
getAllocSizeArgs() const
Declared at: llvm/lib/IR/AttributeImpl.h:255
¶std::string getAsString(bool InAttrGrp) const
std::string getAsString(bool InAttrGrp) const
Declared at: llvm/lib/IR/AttributeImpl.h:260
Parameters
- bool InAttrGrp
¶llvm::Attribute getAttribute(
llvm::StringRef Kind) const
llvm::Attribute getAttribute(
llvm::StringRef Kind) const
Declared at: llvm/lib/IR/AttributeImpl.h:249
Parameters
- llvm::StringRef Kind
¶llvm::Attribute getAttribute(
Attribute::AttrKind Kind) const
llvm::Attribute getAttribute(
Attribute::AttrKind Kind) const
Declared at: llvm/lib/IR/AttributeImpl.h:248
Parameters
- Attribute::AttrKind Kind
¶llvm::Type* getAttributeType(
Attribute::AttrKind Kind) const
llvm::Type* getAttributeType(
Attribute::AttrKind Kind) const
Declared at: llvm/lib/IR/AttributeImpl.h:261
Parameters
- Attribute::AttrKind Kind
¶uint64_t getDereferenceableBytes() const
uint64_t getDereferenceableBytes() const
Declared at: llvm/lib/IR/AttributeImpl.h:253
¶uint64_t getDereferenceableOrNullBytes() const
uint64_t getDereferenceableOrNullBytes() const
Declared at: llvm/lib/IR/AttributeImpl.h:254
¶unsigned int getNumAttributes() const
unsigned int getNumAttributes() const
Description
Return the number of attributes this AttributeList contains.
Declared at: llvm/lib/IR/AttributeImpl.h:240
¶static llvm::AttributeSetNode* getSorted(
llvm::LLVMContext& C,
ArrayRef<llvm::Attribute> SortedAttrs)
static llvm::AttributeSetNode* getSorted(
llvm::LLVMContext& C,
ArrayRef<llvm::Attribute> SortedAttrs)
Declared at: llvm/lib/IR/AttributeImpl.h:224
Parameters
- llvm::LLVMContext& C
- ArrayRef<llvm::Attribute> SortedAttrs
¶llvm::MaybeAlign getStackAlignment() const
llvm::MaybeAlign getStackAlignment() const
Declared at: llvm/lib/IR/AttributeImpl.h:252
¶llvm::UWTableKind getUWTableKind() const
llvm::UWTableKind getUWTableKind() const
Declared at: llvm/lib/IR/AttributeImpl.h:258
¶Optional<unsigned int> getVScaleRangeMax() const
Optional<unsigned int> getVScaleRangeMax() const
Declared at: llvm/lib/IR/AttributeImpl.h:257
¶unsigned int getVScaleRangeMin() const
unsigned int getVScaleRangeMin() const
Declared at: llvm/lib/IR/AttributeImpl.h:256
¶bool hasAttribute(llvm::StringRef Kind) const
bool hasAttribute(llvm::StringRef Kind) const
Declared at: llvm/lib/IR/AttributeImpl.h:245
Parameters
- llvm::StringRef Kind
¶bool hasAttribute(Attribute::AttrKind Kind) const
bool hasAttribute(Attribute::AttrKind Kind) const
Declared at: llvm/lib/IR/AttributeImpl.h:242
Parameters
- Attribute::AttrKind Kind
¶bool hasAttributes() const
bool hasAttributes() const
Declared at: llvm/lib/IR/AttributeImpl.h:246