Table of Contents

Namespace Ubiquity.NET.Llvm.Values

This namespace contains the support for LLVM Values. These are the real core of the LLVM system and what applications generally work with the most.

Classes

Argument

An LLVM Value representing an Argument to a function

AttributeContainerExtensions

Provides a layer of simplicity and backwards compatibility for manipulating attributes on Values

AttributeInfoValidationExtensions

Utility extensions to validate AttributeInfo instances

BasicBlock

Provides access to an LLVM Basic block

BlockAddress

Constant address of a block

Constant

Contains an LLVM Constant value

ConstantAggregate

Base class for aggregate constants (with operands).

ConstantAggregateZero

Constant aggregate of value 0

ConstantArray

LLVM Constant Array

ConstantData

Base class for constants with no operands

ConstantDataArray

Array of constant data

ConstantDataSequential

A vector or array constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. ConstantInt/ConstantFP).

ConstantDataVector

Vector of Constant Data

ConstantExpression

While technically a type in LLVM, ConstantExpression is primarily a static factory for Constants

ConstantFP

Floating point constant value in LLVM

ConstantInt

Represents an arbitrary bit width integer constant in LLVM

ConstantPointerNull

Represents a constant Null pointer

ConstantStruct

Constant Structure

ConstantTokenNone

Constant token that is empty

ConstantVector

Vector of constant values

Function

LLVM Function definition

GlobalAlias

LLVM Global Alias for a function or global value

GlobalIFunc

Global Indirect Function

GlobalIndirectSymbol

Global Indirect Symbol

GlobalObject

Base class for Global objects in an LLVM ModuleHandle

GlobalObjectExtensions

Fluent style extensions for properties of GlobalObject

GlobalValue

LLVM Global value

GlobalValueExtensions

Fluent style extensions for modifying properties of a GlobalValue

GlobalVariable

An LLVM Global Variable

InlineAsm

Inline Assembly for the target

UndefValue

Represents an undefined value in LLVM IR

Use

LLVM Use, which is essentially a tuple of the User and the Value used

User

Contains an LLVM User value

Value

LLVM Value

ValueExtensions

Provides extension methods to Value that cannot be achieved as members of the class

ValueOperandListCollection<T>

Support class to provide read/update semantics to the operands of a container element

Structs

AttributeInfo

Information regarding an attribute

AttributeValue

Single attribute for functions, function returns and function parameters

MemoryAttributeValue

Value argument for a "memory" attribute

Interfaces

IAttributeContainer

Interface for an attribute container

IFunctionAttributeAccessor

Interface for raw attribute access

Enums

AsmDialect

Assembly language output dialect

AttributeAllowedOn

Flags enumeration of places where a given attribute is applicable

AttributeArgKind

Kind of argument (if any) for an attribute

CallingConvention

Calling Convention for functions

FunctionAttributeIndex

Function index for attributes

Linkage

Linkage specification for functions and globals

MemAccess

Flags indicating whether a memory access modifies or references memory

MemLocation

Location for memory access attribute

UWTableKind

Enumeration for values of the 'uwtable' attribute

UnnamedAddressKind

Unnamed address state of a global value

Visibility

Enumeration for the visibility of a global value