Table of Contents

Interface IContext

Namespace
Ubiquity.NET.Llvm
Assembly
Ubiquity.NET.Llvm.dll

Interface for an unowned LLVM Context

public interface IContext : IEquatable<IContext>
Inherited Members

Remarks

This interface is intended to distinguish between an unowned reference to a context and something that is owned and requires a call to Dispose(). A Context is an owned type that callers *MUST dispose, an IContext interface is not.

Properties

BoolType

Gets the LLVM boolean type for this context

DiscardValueNames

Gets or sets a value indicating whether this context is configured to discard value names

DoubleType

Gets the LLVM double precision floating point type for this context

Float128Type

Gets the LLVM 128-Bit floating point type

FloatType

Gets the LLVM single precision floating point type for this context

HalfFloatType

Gets the LLVM half precision floating point type for this context

Int128Type

Gets the LLVM 128 bit integer type for this context

Int16Type

Gets the LLVM 16 bit integer type for this context

Int32Type

Gets the LLVM 32 bit integer type for this context

Int64Type

Gets the LLVM 64 bit integer type for this context

Int8Type

Gets the LLVM 8 bit integer type for this context

MetadataType

Gets the LLVM IrMetadata type for this context

OdrUniqueDebugTypes

Gets or sets a value indicating whether the context keeps a map for uniqueing debug info identifiers across the context

PpcFloat128Type

Gets the LLVM PPC 128-bit floating point type

TokenType

Gets the LLVM token type for this context

VoidType

Gets the LLVM void type for this context

X86Float80Type

Gets the LLVM X86 80-bit floating point type for this context

Methods

CreateAttribute(LazyEncodedString)

Creates a simple attribute without arguments

CreateAttribute(LazyEncodedString, uint, ulong[], ulong[])

Create an attribute that accepts a constant range value

CreateAttribute(LazyEncodedString, ulong)

Creates an attribute with an integer value parameter

CreateAttribute(LazyEncodedString, LazyEncodedString)

Creates a string attribute with a value

CreateAttribute(LazyEncodedString, ITypeRef)

Create an attribute that accepts a type value

CreateBasicBlock(LazyEncodedString)

Create a named BasicBlock without inserting it into a function

CreateBitcodeModule()

Creates a new instance of the Module class in this context

CreateBitcodeModule(LazyEncodedString)

Creates a new instance of the Module class in a given context

CreateConstant(bool)

Creates a new ConstantInt with a bit length of 1

CreateConstant(byte)

Creates a new ConstantInt with a bit length of 8

CreateConstant(double)

Creates a constant floating point value for a given value

CreateConstant(short)

Creates a new ConstantInt with a bit length of 16

CreateConstant(int)

Creates a new ConstantInt with a bit length of 32

CreateConstant(long)

Creates a new ConstantInt with a bit length of 64

CreateConstant(sbyte)

Creates a new ConstantInt with a bit length of 8

CreateConstant(float)

Creates a constant floating point value for a given value

CreateConstant(ushort)

Creates a new ConstantInt with a bit length of 16

CreateConstant(uint)

Creates a new ConstantInt with a bit length of 32

CreateConstant(uint, ulong, bool)

Creates a new ConstantInt with a bit length of 64

CreateConstant(ulong)

Creates a new ConstantInt with a bit length of 64

CreateConstant(ITypeRef, ulong, bool)

Create a constant value of the specified integer type

CreateConstantString(LazyEncodedString)

Create a constant data string value

CreateConstantString(LazyEncodedString, bool)

Create a constant data string value

CreateConstantStruct(bool, params IEnumerable<Constant>)

Creates a constant structure from a set of values

CreateFunctionType(IDIBuilder, bool, IDebugType<ITypeRef, DIType>, params IEnumerable<IDebugType<ITypeRef, DIType>>)

Creates a FunctionType with Debug information

CreateFunctionType(IDIBuilder, IDebugType<ITypeRef, DIType>, params IEnumerable<IDebugType<ITypeRef, DIType>>)

Creates a FunctionType with Debug information

CreateMDNode(LazyEncodedString)

Create an MDNode from a string

CreateMetadataString(LazyEncodedString?)

Creates a metadata string from the given string

CreateNamedConstantStruct(IStructType, params IEnumerable<Constant>)

Creates a constant instance of a specified structure type from a set of values

CreateStructType(bool, params IEnumerable<ITypeRef>)

Create an anonymous structure type (e.g. Tuple)

CreateStructType(LazyEncodedString)

Create an opaque structure type (e.g. a forward reference)

CreateStructType(LazyEncodedString, bool, params IEnumerable<ITypeRef>)

Creates a new structure type in this Ubiquity.NET.Llvm.ContextAlias

GetFunctionType(bool, ITypeRef, params IEnumerable<ITypeRef>)

Get an LLVM Function type (e.g. signature)

GetFunctionType(ITypeRef, params IEnumerable<ITypeRef>)

Get an LLVM Function type (e.g. signature)

GetIntType(uint)

Get's an LLVM integer type of arbitrary bit width

GetMDKindId(LazyEncodedString)

Gets non-zero IrMetadata kind ID for a given name

OpenBinary(LazyEncodedString)

Opens a TargetBinary from a path

ParseModule(LazyEncodedString, LazyEncodedString)

Parse LLVM IR source for a module, into this context

SetDiagnosticHandler(DiagnosticInfoCallbackAction)

Set a custom diagnostic handler