class AttributeList

Declaration

class AttributeList { /* full declaration omitted */ };

Description

This class holds the attributes for a function, its return value, and its parameters. You access the attributes for each of them via an index into the AttributeList object. The function attributes are at index `AttributeList::FunctionIndex', the return value is at index `AttributeList::ReturnIndex', and the attributes for the parameters start at index `AttributeList::FirstArgIndex'.

Declared at: llvm/include/llvm/IR/Attributes.h:425

Member Variables

private llvm::AttributeListImpl* pImpl = nullptr
The attributes that we are managing. This can be null to represent the empty attributes list.

Method Overview

  • private AttributeList(llvm::AttributeListImpl * LI)
  • public AttributeList()
  • public llvm::AttributeList addAllocSizeParamAttr(llvm::LLVMContext & C, unsigned int ArgNo, unsigned int ElemSizeArg, const Optional<unsigned int> & NumElemsArg)
  • public llvm::AttributeList addAttributeAtIndex(llvm::LLVMContext & C, unsigned int Index, Attribute::AttrKind Kind) const
  • public llvm::AttributeList addAttributeAtIndex(llvm::LLVMContext & C, unsigned int Index, llvm::StringRef Kind, llvm::StringRef Value = llvm::StringRef()) const
  • public llvm::AttributeList addAttributeAtIndex(llvm::LLVMContext & C, unsigned int Index, llvm::Attribute A) const
  • public llvm::AttributeList addAttributesAtIndex(llvm::LLVMContext & C, unsigned int Index, const llvm::AttrBuilder & B) const
  • public llvm::AttributeList addDereferenceableOrNullParamAttr(llvm::LLVMContext & C, unsigned int ArgNo, uint64_t Bytes) const
  • public llvm::AttributeList addDereferenceableParamAttr(llvm::LLVMContext & C, unsigned int ArgNo, uint64_t Bytes) const
  • public llvm::AttributeList addDereferenceableRetAttr(llvm::LLVMContext & C, uint64_t Bytes) const
  • public llvm::AttributeList addFnAttribute(llvm::LLVMContext & C, llvm::StringRef Kind, llvm::StringRef Value = llvm::StringRef()) const
  • public llvm::AttributeList addFnAttribute(llvm::LLVMContext & C, llvm::Attribute Attr) const
  • public llvm::AttributeList addFnAttribute(llvm::LLVMContext & C, Attribute::AttrKind Kind) const
  • public llvm::AttributeList addFnAttributes(llvm::LLVMContext & C, const llvm::AttrBuilder & B) const
  • public llvm::AttributeList addParamAttribute(llvm::LLVMContext & C, unsigned int ArgNo, llvm::StringRef Kind, llvm::StringRef Value = llvm::StringRef()) const
  • public llvm::AttributeList addParamAttribute(llvm::LLVMContext & C, unsigned int ArgNo, Attribute::AttrKind Kind) const
  • public llvm::AttributeList addParamAttribute(llvm::LLVMContext & C, ArrayRef<unsigned int> ArgNos, llvm::Attribute A) const
  • public llvm::AttributeList addParamAttributes(llvm::LLVMContext & C, unsigned int ArgNo, const llvm::AttrBuilder & B) const
  • public llvm::AttributeList addRetAttribute(llvm::LLVMContext & C, Attribute::AttrKind Kind) const
  • public llvm::AttributeList addRetAttribute(llvm::LLVMContext & C, llvm::Attribute Attr) const
  • public llvm::AttributeList addRetAttributes(llvm::LLVMContext & C, const llvm::AttrBuilder & B) const
  • public llvm::AttributeList::iterator begin() const
  • public void dump() const
  • public llvm::AttributeList::iterator end() const
  • public static llvm::AttributeList get(llvm::LLVMContext & C, ArrayRef<std::pair<unsigned int, AttributeSet>> Attrs)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, unsigned int Index, llvm::AttributeSet Attrs)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, ArrayRef<std::pair<unsigned int, Attribute>> Attrs)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, llvm::AttributeSet FnAttrs, llvm::AttributeSet RetAttrs, ArrayRef<llvm::AttributeSet> ArgAttrs)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, ArrayRef<llvm::AttributeList> Attrs)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, unsigned int Index, ArrayRef<Attribute::AttrKind> Kinds)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, unsigned int Index, ArrayRef<Attribute::AttrKind> Kinds, ArrayRef<uint64_t> Values)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, unsigned int Index, const llvm::AttrBuilder & B)
  • public static llvm::AttributeList get(llvm::LLVMContext & C, unsigned int Index, ArrayRef<llvm::StringRef> Kind)
  • public llvm::AllocFnKind getAllocKind() const
  • public std::string getAsString(unsigned int Index, bool InAttrGrp = false) const
  • public llvm::Attribute getAttributeAtIndex(unsigned int Index, Attribute::AttrKind Kind) const
  • public llvm::Attribute getAttributeAtIndex(unsigned int Index, llvm::StringRef Kind) const
  • public llvm::AttributeSet getAttributes(unsigned int Index) const
  • public llvm::Attribute getFnAttr(llvm::StringRef Kind) const
  • public llvm::Attribute getFnAttr(Attribute::AttrKind Kind) const
  • public llvm::AttributeSet getFnAttrs() const
  • public llvm::MaybeAlign getFnStackAlignment() const
  • private static llvm::AttributeList getImpl(llvm::LLVMContext & C, ArrayRef<llvm::AttributeSet> AttrSets)
  • public unsigned int getNumAttrSets() const
  • public llvm::MaybeAlign getParamAlignment(unsigned int ArgNo) const
  • public llvm::Attribute getParamAttr(unsigned int ArgNo, llvm::StringRef Kind) const
  • public llvm::Attribute getParamAttr(unsigned int ArgNo, Attribute::AttrKind Kind) const
  • public llvm::AttributeSet getParamAttrs(unsigned int ArgNo) const
  • public llvm::Type * getParamByRefType(unsigned int ArgNo) const
  • public llvm::Type * getParamByValType(unsigned int ArgNo) const
  • public uint64_t getParamDereferenceableBytes(unsigned int Index) const
  • public uint64_t getParamDereferenceableOrNullBytes(unsigned int ArgNo) const
  • public llvm::Type * getParamElementType(unsigned int ArgNo) const
  • public llvm::Type * getParamInAllocaType(unsigned int ArgNo) const
  • public llvm::Type * getParamPreallocatedType(unsigned int ArgNo) const
  • public llvm::MaybeAlign getParamStackAlignment(unsigned int ArgNo) const
  • public llvm::Type * getParamStructRetType(unsigned int ArgNo) const
  • public void * getRawPointer() const
  • public llvm::MaybeAlign getRetAlignment() const
  • public llvm::AttributeSet getRetAttrs() const
  • public uint64_t getRetDereferenceableBytes() const
  • public uint64_t getRetDereferenceableOrNullBytes() const
  • public llvm::MaybeAlign getRetStackAlignment() const
  • public llvm::UWTableKind getUWTableKind() const
  • public bool hasAttrSomewhere(Attribute::AttrKind Kind, unsigned int * Index = nullptr) const
  • public bool hasAttributeAtIndex(unsigned int Index, Attribute::AttrKind Kind) const
  • public bool hasAttributeAtIndex(unsigned int Index, llvm::StringRef Kind) const
  • public bool hasAttributesAtIndex(unsigned int Index) const
  • public bool hasFnAttr(llvm::StringRef Kind) const
  • public bool hasFnAttr(Attribute::AttrKind Kind) const
  • public bool hasFnAttrs() const
  • public bool hasParamAttr(unsigned int ArgNo, llvm::StringRef Kind) const
  • public bool hasParamAttr(unsigned int ArgNo, Attribute::AttrKind Kind) const
  • public bool hasParamAttrs(unsigned int ArgNo) const
  • public bool hasParentContext(llvm::LLVMContext & C) const
  • public bool hasRetAttr(Attribute::AttrKind Kind) const
  • public bool hasRetAttr(llvm::StringRef Kind) const
  • public bool hasRetAttrs() const
  • public llvm::AttributeList::index_iterator indexes() const
  • public bool isEmpty() const
  • public void print(llvm::raw_ostream & O) const
  • public llvm::AttributeList removeAttribute(llvm::LLVMContext & C, unsigned int Index, llvm::StringRef Kind) const
  • public llvm::AttributeList removeAttributeAtIndex(llvm::LLVMContext & C, unsigned int Index, Attribute::AttrKind Kind) const
  • public llvm::AttributeList removeAttributeAtIndex(llvm::LLVMContext & C, unsigned int Index, llvm::StringRef Kind) const
  • public llvm::AttributeList removeAttributesAtIndex(llvm::LLVMContext & C, unsigned int Index) const
  • public llvm::AttributeList removeAttributesAtIndex(llvm::LLVMContext & C, unsigned int Index, const llvm::AttributeMask & AttrsToRemove) const
  • public llvm::AttributeList removeFnAttribute(llvm::LLVMContext & C, llvm::StringRef Kind) const
  • public llvm::AttributeList removeFnAttribute(llvm::LLVMContext & C, Attribute::AttrKind Kind) const
  • public llvm::AttributeList removeFnAttributes(llvm::LLVMContext & C) const
  • public llvm::AttributeList removeFnAttributes(llvm::LLVMContext & C, const llvm::AttributeMask & AttrsToRemove) const
  • public llvm::AttributeList removeParamAttribute(llvm::LLVMContext & C, unsigned int ArgNo, Attribute::AttrKind Kind) const
  • public llvm::AttributeList removeParamAttribute(llvm::LLVMContext & C, unsigned int ArgNo, llvm::StringRef Kind) const
  • public llvm::AttributeList removeParamAttributes(llvm::LLVMContext & C, unsigned int ArgNo, const llvm::AttributeMask & AttrsToRemove) const
  • public llvm::AttributeList removeParamAttributes(llvm::LLVMContext & C, unsigned int ArgNo) const
  • public llvm::AttributeList removeRetAttribute(llvm::LLVMContext & C, llvm::StringRef Kind) const
  • public llvm::AttributeList removeRetAttribute(llvm::LLVMContext & C, Attribute::AttrKind Kind) const
  • public llvm::AttributeList removeRetAttributes(llvm::LLVMContext & C, const llvm::AttributeMask & AttrsToRemove) const
  • public llvm::AttributeList replaceAttributeTypeAtIndex(llvm::LLVMContext & C, unsigned int ArgNo, Attribute::AttrKind Kind, llvm::Type * ReplacementTy) const
  • private llvm::AttributeList setAttributesAtIndex(llvm::LLVMContext & C, unsigned int Index, llvm::AttributeSet Attrs) const

Methods

AttributeList(llvm::AttributeListImpl* LI)

Declared at: llvm/include/llvm/IR/Attributes.h:458

Parameters

llvm::AttributeListImpl* LI

AttributeList()

Declared at: llvm/include/llvm/IR/Attributes.h:466

llvm::AttributeList addAllocSizeParamAttr(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    unsigned int ElemSizeArg,
    const Optional<unsigned int>& NumElemsArg)

Description

Add the allocsize attribute to the attribute set at the given arg index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:721

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
unsigned int ElemSizeArg
const Optional<unsigned int>& NumElemsArg

llvm::AttributeList addAttributeAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    Attribute::AttrKind Kind) const

Description

Add an attribute to the attribute set at the given index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:489

Parameters

llvm::LLVMContext& C
unsigned int Index
Attribute::AttrKind Kind

llvm::AttributeList addAttributeAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    llvm::StringRef Kind,
    llvm::StringRef Value =
        llvm::StringRef()) const

Description

Add an attribute to the attribute set at the given index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:495

Parameters

llvm::LLVMContext& C
unsigned int Index
llvm::StringRef Kind
llvm::StringRef Value = llvm::StringRef()

llvm::AttributeList addAttributeAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    llvm::Attribute A) const

Description

Add an attribute to the attribute set at the given index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:500

Parameters

llvm::LLVMContext& C
unsigned int Index
llvm::Attribute A

llvm::AttributeList addAttributesAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    const llvm::AttrBuilder& B) const

Description

Add attributes to the attribute set at the given index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:506

Parameters

llvm::LLVMContext& C
unsigned int Index
const llvm::AttrBuilder& B

llvm::AttributeList
addDereferenceableOrNullParamAttr(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    uint64_t Bytes) const

Description

Add the dereferenceable_or_null attribute to the attribute set at the given arg index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:715

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
uint64_t Bytes

llvm::AttributeList addDereferenceableParamAttr(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    uint64_t Bytes) const

Description

Add the dereferenceable attribute to the attribute set at the given arg index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:709

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
uint64_t Bytes

llvm::AttributeList addDereferenceableRetAttr(
    llvm::LLVMContext& C,
    uint64_t Bytes) const

Description

Add the dereferenceable attribute to the attribute set at the given index. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:704

Parameters

llvm::LLVMContext& C
uint64_t Bytes

llvm::AttributeList addFnAttribute(
    llvm::LLVMContext& C,
    llvm::StringRef Kind,
    llvm::StringRef Value =
        llvm::StringRef()) const

Description

Add a function attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:526

Parameters

llvm::LLVMContext& C
llvm::StringRef Kind
llvm::StringRef Value = llvm::StringRef()

llvm::AttributeList addFnAttribute(
    llvm::LLVMContext& C,
    llvm::Attribute Attr) const

Description

Add a function attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:519

Parameters

llvm::LLVMContext& C
llvm::Attribute Attr

llvm::AttributeList addFnAttribute(
    llvm::LLVMContext& C,
    Attribute::AttrKind Kind) const

Description

Add a function attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:512

Parameters

llvm::LLVMContext& C
Attribute::AttrKind Kind

llvm::AttributeList addFnAttributes(
    llvm::LLVMContext& C,
    const llvm::AttrBuilder& B) const

Description

Add function attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:533

Parameters

llvm::LLVMContext& C
const llvm::AttrBuilder& B

llvm::AttributeList addParamAttribute(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    llvm::StringRef Kind,
    llvm::StringRef Value =
        llvm::StringRef()) const

Description

Add an argument attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:569

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
llvm::StringRef Kind
llvm::StringRef Value = llvm::StringRef()

llvm::AttributeList addParamAttribute(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    Attribute::AttrKind Kind) const

Description

Add an argument attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:561

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
Attribute::AttrKind Kind

llvm::AttributeList addParamAttribute(
    llvm::LLVMContext& C,
    ArrayRef<unsigned int> ArgNos,
    llvm::Attribute A) const

Description

Add an attribute to the attribute list at the given arg indices. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:576

Parameters

llvm::LLVMContext& C
ArrayRef<unsigned int> ArgNos
llvm::Attribute A

llvm::AttributeList addParamAttributes(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    const llvm::AttrBuilder& B) const

Description

Add an argument attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:582

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
const llvm::AttrBuilder& B

llvm::AttributeList addRetAttribute(
    llvm::LLVMContext& C,
    Attribute::AttrKind Kind) const

Description

Add a return value attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:540

Parameters

llvm::LLVMContext& C
Attribute::AttrKind Kind

llvm::AttributeList addRetAttribute(
    llvm::LLVMContext& C,
    llvm::Attribute Attr) const

Description

Add a return value attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:547

Parameters

llvm::LLVMContext& C
llvm::Attribute Attr

llvm::AttributeList addRetAttributes(
    llvm::LLVMContext& C,
    const llvm::AttrBuilder& B) const

Description

Add a return value attribute to the list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:554

Parameters

llvm::LLVMContext& C
const llvm::AttrBuilder& B

llvm::AttributeList::iterator begin() const

Declared at: llvm/include/llvm/IR/Attributes.h:884

void dump() const

Declared at: llvm/include/llvm/IR/Attributes.h:930

llvm::AttributeList::iterator end() const

Declared at: llvm/include/llvm/IR/Attributes.h:885

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    ArrayRef<std::pair<unsigned int,
                       AttributeSet>> Attrs)

Declared at: llvm/include/llvm/IR/Attributes.h:448

Parameters

llvm::LLVMContext& C
ArrayRef<std::pair<unsigned int, AttributeSet>> Attrs

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    unsigned int Index,
    llvm::AttributeSet Attrs)

Declared at: llvm/include/llvm/IR/Attributes.h:481

Parameters

llvm::LLVMContext& C
unsigned int Index
llvm::AttributeSet Attrs

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    ArrayRef<std::pair<unsigned int, Attribute>>
        Attrs)

Description

Create an AttributeList with the specified parameters in it.

Declared at: llvm/include/llvm/IR/Attributes.h:446

Parameters

llvm::LLVMContext& C
ArrayRef<std::pair<unsigned int, Attribute>> Attrs

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    llvm::AttributeSet FnAttrs,
    llvm::AttributeSet RetAttrs,
    ArrayRef<llvm::AttributeSet> ArgAttrs)

Description

Create an AttributeList from attribute sets for a function, its return value, and all of its arguments.

Declared at: llvm/include/llvm/IR/Attributes.h:453

Parameters

llvm::LLVMContext& C
llvm::AttributeSet FnAttrs
llvm::AttributeSet RetAttrs
ArrayRef<llvm::AttributeSet> ArgAttrs

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    ArrayRef<llvm::AttributeList> Attrs)

Description

Return an AttributeList with the specified parameters in it.

Declared at: llvm/include/llvm/IR/Attributes.h:473

Parameters

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

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    unsigned int Index,
    ArrayRef<Attribute::AttrKind> Kinds)

Declared at: llvm/include/llvm/IR/Attributes.h:474

Parameters

llvm::LLVMContext& C
unsigned int Index
ArrayRef<Attribute::AttrKind> Kinds

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    unsigned int Index,
    ArrayRef<Attribute::AttrKind> Kinds,
    ArrayRef<uint64_t> Values)

Declared at: llvm/include/llvm/IR/Attributes.h:476

Parameters

llvm::LLVMContext& C
unsigned int Index
ArrayRef<Attribute::AttrKind> Kinds
ArrayRef<uint64_t> Values

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    unsigned int Index,
    const llvm::AttrBuilder& B)

Declared at: llvm/include/llvm/IR/Attributes.h:483

Parameters

llvm::LLVMContext& C
unsigned int Index
const llvm::AttrBuilder& B

static llvm::AttributeList get(
    llvm::LLVMContext& C,
    unsigned int Index,
    ArrayRef<llvm::StringRef> Kind)

Declared at: llvm/include/llvm/IR/Attributes.h:479

Parameters

llvm::LLVMContext& C
unsigned int Index
ArrayRef<llvm::StringRef> Kind

llvm::AllocFnKind getAllocKind() const

Declared at: llvm/include/llvm/IR/Attributes.h:870

std::string getAsString(
    unsigned int Index,
    bool InAttrGrp = false) const

Description

Return the attributes at the index as a string.

Declared at: llvm/include/llvm/IR/Attributes.h:873

Parameters

unsigned int Index
bool InAttrGrp = false

llvm::Attribute getAttributeAtIndex(
    unsigned int Index,
    Attribute::AttrKind Kind) const

Description

Return the attribute object that exists at the given index.

Declared at: llvm/include/llvm/IR/Attributes.h:794

Parameters

unsigned int Index
Attribute::AttrKind Kind

llvm::Attribute getAttributeAtIndex(
    unsigned int Index,
    llvm::StringRef Kind) const

Description

Return the attribute object that exists at the given index.

Declared at: llvm/include/llvm/IR/Attributes.h:797

Parameters

unsigned int Index
llvm::StringRef Kind

llvm::AttributeSet getAttributes(
    unsigned int Index) const

Description

The attributes for the specified index are returned.

Declared at: llvm/include/llvm/IR/Attributes.h:729

Parameters

unsigned int Index

llvm::Attribute getFnAttr(
    llvm::StringRef Kind) const

Description

Return the attribute object that exists for the function.

Declared at: llvm/include/llvm/IR/Attributes.h:815

Parameters

llvm::StringRef Kind

llvm::Attribute getFnAttr(
    Attribute::AttrKind Kind) const

Description

Return the attribute object that exists for the function.

Declared at: llvm/include/llvm/IR/Attributes.h:810

Parameters

Attribute::AttrKind Kind

llvm::AttributeSet getFnAttrs() const

Description

The function attributes are returned.

Declared at: llvm/include/llvm/IR/Attributes.h:739

llvm::MaybeAlign getFnStackAlignment() const

Description

Get the stack alignment of the function.

Declared at: llvm/include/llvm/IR/Attributes.h:847

static llvm::AttributeList getImpl(
    llvm::LLVMContext& C,
    ArrayRef<llvm::AttributeSet> AttrSets)

Declared at: llvm/include/llvm/IR/Attributes.h:460

Parameters

llvm::LLVMContext& C
ArrayRef<llvm::AttributeSet> AttrSets

unsigned int getNumAttrSets() const

Declared at: llvm/include/llvm/IR/Attributes.h:887

llvm::MaybeAlign getParamAlignment(
    unsigned int ArgNo) const

Description

Return the alignment for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:823

Parameters

unsigned int ArgNo

llvm::Attribute getParamAttr(
    unsigned int ArgNo,
    llvm::StringRef Kind) const

Description

Return the attribute object that exists at the given index.

Declared at: llvm/include/llvm/IR/Attributes.h:805

Parameters

unsigned int ArgNo
llvm::StringRef Kind

llvm::Attribute getParamAttr(
    unsigned int ArgNo,
    Attribute::AttrKind Kind) const

Description

Return the attribute object that exists at the arg index.

Declared at: llvm/include/llvm/IR/Attributes.h:800

Parameters

unsigned int ArgNo
Attribute::AttrKind Kind

llvm::AttributeSet getParamAttrs(
    unsigned int ArgNo) const

Description

The attributes for the argument or parameter at the given index are returned.

Declared at: llvm/include/llvm/IR/Attributes.h:733

Parameters

unsigned int ArgNo

llvm::Type* getParamByRefType(
    unsigned int ArgNo) const

Description

Return the byref type for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:835

Parameters

unsigned int ArgNo

llvm::Type* getParamByValType(
    unsigned int ArgNo) const

Description

Return the byval type for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:829

Parameters

unsigned int ArgNo

uint64_t getParamDereferenceableBytes(
    unsigned int Index) const

Description

Get the number of dereferenceable bytes (or zero if unknown) of an arg.

Declared at: llvm/include/llvm/IR/Attributes.h:857

Parameters

unsigned int Index

uint64_t getParamDereferenceableOrNullBytes(
    unsigned int ArgNo) const

Description

Get the number of dereferenceable_or_null bytes (or zero if unknown) of an arg.

Declared at: llvm/include/llvm/IR/Attributes.h:865

Parameters

unsigned int ArgNo

llvm::Type* getParamElementType(
    unsigned int ArgNo) const

Description

Return the elementtype type for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:844

Parameters

unsigned int ArgNo

llvm::Type* getParamInAllocaType(
    unsigned int ArgNo) const

Description

Return the inalloca type for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:841

Parameters

unsigned int ArgNo

llvm::Type* getParamPreallocatedType(
    unsigned int ArgNo) const

Description

Return the preallocated type for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:838

Parameters

unsigned int ArgNo

llvm::MaybeAlign getParamStackAlignment(
    unsigned int ArgNo) const

Description

Return the stack alignment for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:826

Parameters

unsigned int ArgNo

llvm::Type* getParamStructRetType(
    unsigned int ArgNo) const

Description

Return the sret type for the specified function parameter.

Declared at: llvm/include/llvm/IR/Attributes.h:832

Parameters

unsigned int ArgNo

void* getRawPointer() const

Description

Return a raw pointer that uniquely identifies this attribute list.

Declared at: llvm/include/llvm/IR/Attributes.h:921

llvm::MaybeAlign getRetAlignment() const

Description

Return the alignment of the return value.

Declared at: llvm/include/llvm/IR/Attributes.h:820

llvm::AttributeSet getRetAttrs() const

Description

The attributes for the ret value are returned.

Declared at: llvm/include/llvm/IR/Attributes.h:736

uint64_t getRetDereferenceableBytes() const

Description

Get the number of dereferenceable bytes (or zero if unknown) of the return value.

Declared at: llvm/include/llvm/IR/Attributes.h:854

uint64_t getRetDereferenceableOrNullBytes() const

Description

Get the number of dereferenceable_or_null bytes (or zero if unknown) of the return value.

Declared at: llvm/include/llvm/IR/Attributes.h:861

llvm::MaybeAlign getRetStackAlignment() const

Description

Get the stack alignment of the return value.

Declared at: llvm/include/llvm/IR/Attributes.h:850

llvm::UWTableKind getUWTableKind() const

Description

Get the unwind table kind requested for the function.

Declared at: llvm/include/llvm/IR/Attributes.h:868

bool hasAttrSomewhere(
    Attribute::AttrKind Kind,
    unsigned int* Index = nullptr) const

Description

Return true if the specified attribute is set for at least one parameter or for the return value. If Index is not nullptr, the index of a parameter with the specified attribute is provided.

Declared at: llvm/include/llvm/IR/Attributes.h:790

Parameters

Attribute::AttrKind Kind
unsigned int* Index = nullptr

bool hasAttributeAtIndex(
    unsigned int Index,
    Attribute::AttrKind Kind) const

Description

Return true if the attribute exists at the given index.

Declared at: llvm/include/llvm/IR/Attributes.h:742

Parameters

unsigned int Index
Attribute::AttrKind Kind

bool hasAttributeAtIndex(
    unsigned int Index,
    llvm::StringRef Kind) const

Description

Return true if the attribute exists at the given index.

Declared at: llvm/include/llvm/IR/Attributes.h:745

Parameters

unsigned int Index
llvm::StringRef Kind

bool hasAttributesAtIndex(
    unsigned int Index) const

Description

Return true if attribute exists at the given index.

Declared at: llvm/include/llvm/IR/Attributes.h:748

Parameters

unsigned int Index

bool hasFnAttr(llvm::StringRef Kind) const

Description

Return true if the attribute exists for the function.

Declared at: llvm/include/llvm/IR/Attributes.h:782

Parameters

llvm::StringRef Kind

bool hasFnAttr(Attribute::AttrKind Kind) const

Description

Return true if the attribute exists for the function.

Declared at: llvm/include/llvm/IR/Attributes.h:779

Parameters

Attribute::AttrKind Kind

bool hasFnAttrs() const

Description

Return true the attributes exist for the function.

Declared at: llvm/include/llvm/IR/Attributes.h:785

bool hasParamAttr(unsigned int ArgNo,
                  llvm::StringRef Kind) const

Description

Return true if the attribute exists for the given argument

Declared at: llvm/include/llvm/IR/Attributes.h:756

Parameters

unsigned int ArgNo
llvm::StringRef Kind

bool hasParamAttr(unsigned int ArgNo,
                  Attribute::AttrKind Kind) const

Description

Return true if the attribute exists for the given argument

Declared at: llvm/include/llvm/IR/Attributes.h:751

Parameters

unsigned int ArgNo
Attribute::AttrKind Kind

bool hasParamAttrs(unsigned int ArgNo) const

Description

Return true if attributes exists for the given argument

Declared at: llvm/include/llvm/IR/Attributes.h:761

Parameters

unsigned int ArgNo

bool hasParentContext(llvm::LLVMContext& C) const

Description

Return true if this attribute list belongs to the LLVMContext.

Declared at: llvm/include/llvm/IR/Attributes.h:876

Parameters

llvm::LLVMContext& C

bool hasRetAttr(Attribute::AttrKind Kind) const

Description

Return true if the attribute exists for the return value.

Declared at: llvm/include/llvm/IR/Attributes.h:766

Parameters

Attribute::AttrKind Kind

bool hasRetAttr(llvm::StringRef Kind) const

Description

Return true if the attribute exists for the return value.

Declared at: llvm/include/llvm/IR/Attributes.h:771

Parameters

llvm::StringRef Kind

bool hasRetAttrs() const

Description

Return true if attributes exist for the return value.

Declared at: llvm/include/llvm/IR/Attributes.h:776

llvm::AttributeList::index_iterator indexes()
    const

Description

Use this to iterate over the valid attribute indexes.

Declared at: llvm/include/llvm/IR/Attributes.h:914

bool isEmpty() const

Description

Return true if there are no attributes.

Declared at: llvm/include/llvm/IR/Attributes.h:926

void print(llvm::raw_ostream& O) const

Declared at: llvm/include/llvm/IR/Attributes.h:928

Parameters

llvm::raw_ostream& O

llvm::AttributeList removeAttribute(
    llvm::LLVMContext& C,
    unsigned int Index,
    llvm::StringRef Kind) const

Declared at: llvm/include/llvm/IR/Attributes.h:598

Parameters

llvm::LLVMContext& C
unsigned int Index
llvm::StringRef Kind

llvm::AttributeList removeAttributeAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    Attribute::AttrKind Kind) const

Description

Remove the specified attribute at the specified index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:590

Parameters

llvm::LLVMContext& C
unsigned int Index
Attribute::AttrKind Kind

llvm::AttributeList removeAttributeAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    llvm::StringRef Kind) const

Description

Remove the specified attribute at the specified index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:595

Parameters

llvm::LLVMContext& C
unsigned int Index
llvm::StringRef Kind

llvm::AttributeList removeAttributesAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index) const

Description

Remove all attributes at the specified index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:610

Parameters

llvm::LLVMContext& C
unsigned int Index

llvm::AttributeList removeAttributesAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    const llvm::AttributeMask& AttrsToRemove)
    const

Description

Remove the specified attributes at the specified index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:605

Parameters

llvm::LLVMContext& C
unsigned int Index
const llvm::AttributeMask& AttrsToRemove

llvm::AttributeList removeFnAttribute(
    llvm::LLVMContext& C,
    llvm::StringRef Kind) const

Description

Remove the specified attribute at the function index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:622

Parameters

llvm::LLVMContext& C
llvm::StringRef Kind

llvm::AttributeList removeFnAttribute(
    llvm::LLVMContext& C,
    Attribute::AttrKind Kind) const

Description

Remove the specified attribute at the function index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:616

Parameters

llvm::LLVMContext& C
Attribute::AttrKind Kind

llvm::AttributeList removeFnAttributes(
    llvm::LLVMContext& C) const

Description

Remove the attributes at the function index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:636

Parameters

llvm::LLVMContext& C

llvm::AttributeList removeFnAttributes(
    llvm::LLVMContext& C,
    const llvm::AttributeMask& AttrsToRemove)
    const

Description

Remove the specified attribute at the function index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:630

Parameters

llvm::LLVMContext& C
const llvm::AttributeMask& AttrsToRemove

llvm::AttributeList removeParamAttribute(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    Attribute::AttrKind Kind) const

Description

Remove the specified attribute at the specified arg index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:663

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
Attribute::AttrKind Kind

llvm::AttributeList removeParamAttribute(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    llvm::StringRef Kind) const

Description

Remove the specified attribute at the specified arg index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:670

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
llvm::StringRef Kind

llvm::AttributeList removeParamAttributes(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    const llvm::AttributeMask& AttrsToRemove)
    const

Description

Remove the specified attribute at the specified arg index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:679

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
const llvm::AttributeMask& AttrsToRemove

llvm::AttributeList removeParamAttributes(
    llvm::LLVMContext& C,
    unsigned int ArgNo) const

Description

Remove all attributes at the specified arg index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:686

Parameters

llvm::LLVMContext& C
unsigned int ArgNo

llvm::AttributeList removeRetAttribute(
    llvm::LLVMContext& C,
    llvm::StringRef Kind) const

Description

Remove the specified attribute at the return value index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:649

Parameters

llvm::LLVMContext& C
llvm::StringRef Kind

llvm::AttributeList removeRetAttribute(
    llvm::LLVMContext& C,
    Attribute::AttrKind Kind) const

Description

Remove the specified attribute at the return value index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:643

Parameters

llvm::LLVMContext& C
Attribute::AttrKind Kind

llvm::AttributeList removeRetAttributes(
    llvm::LLVMContext& C,
    const llvm::AttributeMask& AttrsToRemove)
    const

Description

Remove the specified attribute at the return value index from this attribute list. Returns a new list because attribute lists are immutable.

Declared at: llvm/include/llvm/IR/Attributes.h:656

Parameters

llvm::LLVMContext& C
const llvm::AttributeMask& AttrsToRemove

llvm::AttributeList replaceAttributeTypeAtIndex(
    llvm::LLVMContext& C,
    unsigned int ArgNo,
    Attribute::AttrKind Kind,
    llvm::Type* ReplacementTy) const

Description

Replace the type contained by attribute \p AttrKind at index \p ArgNo wih\p ReplacementTy, preserving all other attributes.

Declared at: llvm/include/llvm/IR/Attributes.h:693

Parameters

llvm::LLVMContext& C
unsigned int ArgNo
Attribute::AttrKind Kind
llvm::Type* ReplacementTy

llvm::AttributeList setAttributesAtIndex(
    llvm::LLVMContext& C,
    unsigned int Index,
    llvm::AttributeSet Attrs) const

Declared at: llvm/include/llvm/IR/Attributes.h:462

Parameters

llvm::LLVMContext& C
unsigned int Index
llvm::AttributeSet Attrs