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'.
Synopsis
Declared in <llvm/IR/Attributes.h>
class AttributeList;
Types
Type Aliases
Name |
Enums
Name |
Member Functions
Name |
Description |
|
Default constructor |
Add the allocsize attribute to the attribute set at the given arg index. Returns a new list because attribute lists are immutable. |
|
Add an attribute to the attribute set at the given index. Returns a new list because attribute lists are immutable. |
|
Add attributes to the attribute set at the given index. Returns a new list because attribute lists are immutable. |
|
Add the dereferenceable_or_null attribute to the attribute set at the given arg index. Returns a new list because attribute lists are immutable. |
|
Add the dereferenceable attribute to the attribute set at the given arg index. Returns a new list because attribute lists are immutable. |
|
Add the dereferenceable attribute to the attribute set at the given index. Returns a new list because attribute lists are immutable. |
|
Add a function attribute to the list. Returns a new list because attribute lists are immutable. |
|
Add function attribute to the list. Returns a new list because attribute lists are immutable. |
|
|
|
Add an argument attribute to the list. Returns a new list because attribute lists are immutable. |
|
Add the range attribute to the attribute set at the return value index. Returns a new list because attribute lists are immutable. |
|
Add a return value attribute to the list. Returns a new list because attribute lists are immutable. |
|
Add a return value attribute to the list. Returns a new list because attribute lists are immutable. |
|
Return the attributes at the index as a string. |
|
Return the attribute object that exists at the given index. |
|
The attributes for the specified index are returned. |
|
Get the number of dead_on_return bytes (or zero if unknown) of an arg. |
|
Return the attribute object that exists for the function. |
|
The function attributes are returned. |
|
Get the stack alignment of the function. |
|
Returns memory effects of the function. |
|
Return the alignment for the specified function parameter. |
|
|
|
The attributes for the argument or parameter at the given index are returned. |
|
Return the byref type for the specified function parameter. |
|
Return the byval type for the specified function parameter. |
|
Get the number of dereferenceable bytes (or zero if unknown) of an arg. |
|
Get the number of dereferenceable_or_null bytes (or zero if unknown) of an arg. |
|
Return the elementtype type for the specified function parameter. |
|
Return the inalloca type for the specified function parameter. |
|
Get the disallowed floating‐point classes of the argument value. |
|
Return the preallocated type for the specified function parameter. |
|
Get range (or std::nullopt if unknown) of an arg. |
|
Return the stack alignment for the specified function parameter. |
|
Return the sret type for the specified function parameter. |
|
Return a raw pointer that uniquely identifies this attribute list. |
|
Return the alignment of the return value. |
|
Return the attribute for the given attribute kind for the return value. |
|
The attributes for the ret value are returned. |
|
Get the number of dereferenceable bytes (or zero if unknown) of the return value. |
|
Get the number of dereferenceable_or_null bytes (or zero if unknown) of the return value. |
|
Get the disallowed floating‐point classes of the return value. |
|
Get the stack alignment of the return value. |
|
Get the unwind table kind requested for the function. |
|
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. |
|
Return true if the attribute exists at the given index. |
|
Return true if attribute exists at the given index. |
|
Return true if the attribute exists for the function. |
|
Return true the attributes exist for the function. |
|
Return true if the attribute exists for the given argument |
|
Return true if attributes exists for the given argument |
|
Return true if this attribute list belongs to the LLVMContext. |
|
Return true if the attribute exists for the return value. |
|
Return true if attributes exist for the return value. |
|
Use this to iterate over the valid attribute indexes. |
|
Try to intersect this AttributeList with Other. Returns std::nullopt if the two lists are inherently incompatible (imply different behavior, not just analysis). |
|
Return true if there are no attributes. |
|
Remove the specified attribute at the specified index from this attribute list. Returns a new list because attribute lists are immutable. |
|
|
|
Remove the specified attribute at the function index from this attribute list. Returns a new list because attribute lists are immutable. |
|
|
|
Remove the specified attribute at the specified arg index from this attribute list. Returns a new list because attribute lists are immutable. |
|
|
|
Remove the specified attribute at the return value index from this attribute list. Returns a new list because attribute lists are immutable. |
|
Remove the specified attribute at the return value index from this attribute list. Returns a new list because attribute lists are immutable. |
|
Replace the type contained by attribute |
|
Set the attribute set at the given index. Returns a new list because attribute lists are immutable. |
|
operator==/!= ‐ Provide equality predicates. |
|
Inequality operator |
Static Member Functions
Name |
Description |
|
Friends
Name |
Description |
An information struct used to provide DenseMap with the various necessary components for a given value type |
|
This class holds the attributes for a particular argument, parameter, function, or return value. It is an immutable value type that is cheap to copy. Adding and removing enum attributes is intended to be fast, but adding and removing string or integer attributes involves a FoldingSet lookup. |
|
This class is used in conjunction with the Attribute::get method to create an Attribute object. The object itself is uniquified. The Builder's value, however, is not. So this can be used as a quick way to test for equality, presence of attributes, etc. |
Non-Member Functions
Name |
Description |
Parse out statepoint directives from the function attributes present in |
|
Return the attributes for an intrinsic. |
Created with MrDocs