Table of Contents

Namespace Ubiquity.NET.Llvm

This is the root namespace of all of the library support, it contains the entirety of the wrapped projection of LLVM for .NET consumers. There are several core items in this namespace as well as distinct child namespaces for various purposes.

Namespaces

Ubiquity.NET.Llvm.DebugInfo
Ubiquity.NET.Llvm.Instructions
Ubiquity.NET.Llvm.Metadata
Ubiquity.NET.Llvm.ObjectFile
Ubiquity.NET.Llvm.OrcJITv2
Ubiquity.NET.Llvm.Transforms.Legacy
Ubiquity.NET.Llvm.Types
Ubiquity.NET.Llvm.Values

Classes

Blake3Hash

.NET Wrapper around the LLVM implementation of the Blake3 hash algorithm

Context

Encapsulates an LLVM context

DataLayout

Owning implementation of IDataLayout

Disassembler

LLVM Disassembler

DisposableObject

Abstract base class for implementing the Disposable pattern

InternalCodeGeneratorException

Exception generated when the internal state of the code generation cannot proceed due to an internal error

Library

Provides support for various LLVM static state initialization and manipulation

MemoryBuffer

LLVM MemoryBuffer

Module

LLVM Bitcode module

Target

LLVM Target Instruction Set Architecture

TargetMachine

Target specific code generation information

TargetMachineOptions

Options for creating a TargetMachine

Triple

Triple to describe a target

Structs

Comdat

Comdat entry for a module

ComdatCollection

Collection of Comdats in a module

DiagnosticInfo

Structure to represent a Diagnostic information reported from a context diagnostic handler

ErrorInfo

Represents the success or failure of an operation with "try" semantics

PassBuilderOptions

Class to hold options for an LLVM pass builder

Interfaces

IContext

Interface for an unowned LLVM Context

IDataLayout

Provides access to LLVM target data layout information

IDisassemblerCallbacks

Interface for disassembler callbacks

ILibLlvm

Interface to the core LLVM library itself

IModule

Interface for an LLVM bitcode module

IOperandCollection<T>

Interface for a fixed shape collection of operands

Enums

ArchKind

Enumeration for the Architecture portion of a target triple

ByteOrdering

Byte ordering for target code generation and data type layout

CodeGenFileKind

Output file type for target code generation

CodeGenOpt

Optimization level for target code generation

CodeGenTarget

Code gen target to register/initialize

CodeModel

Code model to use for target code generation

ComdatKind

Comdat kind/behavior

DiagnosticSeverity

Severity level for diagnostics

DisassemblerOptions

Options flags for the disassembler

EnvironmentKind

Triple EnvironmentKind type

GlobalISelAbortMode

Abort behavior when global instruction selection fails to lower/select and instruction

ModuleFlagBehavior

Enumeration to indicate the behavior of module level flags metadata sharing the same name in a Module

OSKind

OS type for the triple

ObjectFormatKind

Object format type for a Triple

OptimizationSizeLevel

Optimization Size preference

RelocationMode

Relocation type for target code generation

SubArchKind

Processor sub architecture type

TargetRegistration

Target tools to register/enable

VendorKind

Vendor type for the triple

Delegates

DiagnosticInfoCallbackAction

Delegate for a diagnostic info callback