Interface IAttributeAccessor
Interface for raw attribute access
Namespace: Ubiquity.NET.Llvm.Values
Assembly: Ubiquity.NET.Llvm.dll
Syntax
public interface IAttributeAccessor : IAttributeContainer
Remarks
As of LLVM v3.9x and later, Functions and call sites use distinct LLVM-C API sets for manipulating attributes. Fortunately, they have consistent signatures so this interface is used to abstract the difference via derived types specialized for each case. Going forward this is the most direct way to manipulate attributes on a value as all the other forms ultimately come down to this interface.
Methods
AddAttributeAtIndex(FunctionAttributeIndex, AttributeValue) | Adds an AttributeValue at a specified index |
GetAttributeAtIndex(FunctionAttributeIndex, String) | Gets a named attribute at a given index |
GetAttributeAtIndex(FunctionAttributeIndex, AttributeKind) | Gets a specific attribute at a given index |
GetAttributeCountAtIndex(FunctionAttributeIndex) | Gets the count of attributes on a given index |
GetAttributesAtIndex(FunctionAttributeIndex) | Gets the attributes on a given index |
RemoveAttributeAtIndex(FunctionAttributeIndex, String) | Removes a named attribute at a specified index |
RemoveAttributeAtIndex(FunctionAttributeIndex, AttributeKind) | Removes an AttributeKind at a specified index |