Click or drag to resize
Llvm.NET LogoFunction Class

[This is preliminary documentation and is subject to change.]

LLVM Function definition
Inheritance Hierarchy

Namespace:  Llvm.NET.Values
Assembly:  Llvm.NET (in Llvm.NET.dll) Version: 3.8.6158
Syntax
C#
public class Function : GlobalObject, IAttributeSetContainer

The Function type exposes the following members.

Properties
  NameDescription
Public propertyAlignment
Alignment requirements for this object
(Inherited from GlobalObject.)
Public propertyAttributes
Public propertyBasicBlocks
Basic Blocks for the function
Public propertyCallingConvention
Calling convention for the method
Public propertyContext (Inherited from Value.)
Public propertyDISubProgram
Debug information for this function
Public propertyEntryBlock
Entry block for this function
Public propertyGcName
Garbage collection engine name that this function is generated to work with
Public propertyIntrinsicId
LLVM instrinsicID for the method
Public propertyIsDeclaration
Flag to indicate if this is a declaration
(Inherited from GlobalValue.)
Public propertyIsNull
Determines if the Value represents the NULL value for the values type
(Inherited from Value.)
Public propertyIsUndefined
Indicates if this value is Undefined
(Inherited from Value.)
Public propertyIsVarArg
Flag to indicate if the method signature accepts variable arguments
Public propertyIsZeroValue
Indicates if the constant is a Zero value for the its type
(Inherited from Constant.)
Public propertyLinkage
Linkage specification for this symbol
(Inherited from GlobalValue.)
Public propertyName
Name of the value (if any)
(Inherited from Value.)
Public propertyNativeType
Type of the value
(Inherited from Value.)
Public propertyOperands
Collection of operands
(Inherited from User.)
Public propertyParameters
Parameters for the function including any method definition specific attributes (i.e. ByVal)
Public propertyParentModule
Module containing this global value
(Inherited from GlobalValue.)
Public propertyPersonalityFunction
Public propertyReturnType
Return type of the function
Public propertySection
Linker section this object belongs to
(Inherited from GlobalObject.)
Public propertySignature
Signature type of the function
Public propertyUnnamedAddress
Flag to indicate if this is an Unnamed address
(Inherited from GlobalValue.)
Public propertyUses
Enumerable collection of Uses
(Inherited from User.)
Public propertyVisibility
Visibility of this global value
(Inherited from GlobalValue.)
Top
Methods
  NameDescription
Public methodAddExtendedPropertyValue
Adds a value to the container
(Inherited from Value.)
Public methodAppendBasicBlock
Appends a new basic block to a function
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindOrCreateNamedBlock
Retrieves or creates block by name
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPrependBasicBlock
Add a new basic block to the beginning of a function
Public methodReplaceAllUsesWith
Replace all uses of a Value with another one
(Inherited from Value.)
Public methodToString
Generates a string representing the LLVM syntax of the value
(Inherited from Value.)
Public methodTryGetExtendedPropertyValueT
Try to get a value from the container
(Inherited from Value.)
Public methodVerify
Verifies the function is valid and all blocks properly terminated
Top
Extension Methods
  NameDescription
Public Extension MethodAddAttributes(AttributeValue)Overloaded.
Compatibility extension method to handle migrating code from older attribute handling
(Defined by AttributeSetContainer.)
Public Extension MethodAddAttributes(IEnumerableAttributeValue)Overloaded.
Compatibility extension method to handle migrating code from older attribute handling
(Defined by AttributeSetContainer.)
Public Extension MethodRemoveAttribute(String)Overloaded.
Compatibility extension method to handle migrating code from older attribute handling
(Defined by AttributeSetContainer.)
Public Extension MethodRemoveAttribute(AttributeKind)Overloaded.
Compatibility extension method to handle migrating code from older attribute handling
(Defined by AttributeSetContainer.)
Top
See Also