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

Inherited from FoldingSetBase::Node:

Methods

AttributeSetNode(ArrayRef<llvm::Attribute> Attrs)

Declared at: llvm/lib/IR/AttributeImpl.h:222

Parameters

ArrayRef<llvm::Attribute> Attrs

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)

Declared at: llvm/lib/IR/AttributeImpl.h:272

Parameters

llvm::FoldingSetNodeID& ID
ArrayRef<llvm::Attribute> AttrList

void Profile(llvm::FoldingSetNodeID& ID) const

Declared at: llvm/lib/IR/AttributeImpl.h:268

Parameters

llvm::FoldingSetNodeID& ID

llvm::AttributeSetNode::iterator begin() const

Declared at: llvm/lib/IR/AttributeImpl.h:265

llvm::AttributeSetNode::iterator end() const

Declared at: llvm/lib/IR/AttributeImpl.h:266

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)

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)

Declared at: llvm/lib/IR/AttributeImpl.h:237

Parameters

llvm::LLVMContext& C
ArrayRef<llvm::Attribute> Attrs

llvm::MaybeAlign getAlignment() const

Declared at: llvm/lib/IR/AttributeImpl.h:251

llvm::AllocFnKind getAllocKind() const

Declared at: llvm/lib/IR/AttributeImpl.h:259

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

Declared at: llvm/lib/IR/AttributeImpl.h:255

std::string getAsString(bool InAttrGrp) const

Declared at: llvm/lib/IR/AttributeImpl.h:260

Parameters

bool InAttrGrp

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

Declared at: llvm/lib/IR/AttributeImpl.h:248

Parameters

Attribute::AttrKind Kind

llvm::Type* getAttributeType(
    Attribute::AttrKind Kind) const

Declared at: llvm/lib/IR/AttributeImpl.h:261

Parameters

Attribute::AttrKind Kind

uint64_t getDereferenceableBytes() const

Declared at: llvm/lib/IR/AttributeImpl.h:253

uint64_t getDereferenceableOrNullBytes() const

Declared at: llvm/lib/IR/AttributeImpl.h:254

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)

Declared at: llvm/lib/IR/AttributeImpl.h:224

Parameters

llvm::LLVMContext& C
ArrayRef<llvm::Attribute> SortedAttrs

llvm::MaybeAlign getStackAlignment() const

Declared at: llvm/lib/IR/AttributeImpl.h:252

llvm::UWTableKind getUWTableKind() const

Declared at: llvm/lib/IR/AttributeImpl.h:258

Optional<unsigned int> getVScaleRangeMax() const

Declared at: llvm/lib/IR/AttributeImpl.h:257

unsigned int getVScaleRangeMin() const

Declared at: llvm/lib/IR/AttributeImpl.h:256

bool hasAttribute(llvm::StringRef Kind) const

Declared at: llvm/lib/IR/AttributeImpl.h:245

Parameters

llvm::StringRef Kind

bool hasAttribute(Attribute::AttrKind Kind) const

Declared at: llvm/lib/IR/AttributeImpl.h:242

Parameters

Attribute::AttrKind Kind

bool hasAttributes() const

Declared at: llvm/lib/IR/AttributeImpl.h:246