• API Documentation
  • Articles
  • GitHub Repository
  • LLVM.org
  • LLVM Docs
Show / Hide Table of Contents
  • Ubiquity.NET.Llvm
    • BitcodeModule
      • AddAlias
      • AddFunction
      • AddGlobal
      • AddGlobalInAddressSpace
      • AddModuleFlag
      • AddNamedMetadataOperand
      • AddVersionIdentMetadata
      • Aliases
      • AppendInlineAsm
      • Clone
      • Comdats
      • Context
      • CreateAndAddGlobalIFunc
      • CreateFunction
      • DataLayoutString
      • DebugMetadataVersion
      • DebugVersionValue
      • DIBuilder
      • DICompileUnit
      • Dispose
      • DwarfVersionValue
      • Functions
      • GetAlias
      • GetFunction
      • GetIntrinsicDeclaration
      • GetNamedGlobal
      • GetTypeByName
      • Globals
      • IExtensiblePropertyContainer.AddExtendedPropertyValue
      • IExtensiblePropertyContainer.TryGetExtendedPropertyValue
      • IndirectFunctions
      • IsDisposed
      • Layout
      • Link
      • LoadFrom
      • ModuleFlags
      • ModuleInlineAsm
      • Name
      • NamedMetadata
      • SourceFileName
      • TargetTriple
      • TryGetFunction
      • TryGetNamedGlobalIFunc
      • Verify
      • WriteToBuffer
      • WriteToFile
      • WriteToString
      • WriteToTextFile
    • ByteOrdering
    • CodeGenFileType
    • CodeGenOpt
    • CodeModel
    • Comdat
      • Kind
      • Module
      • Name
    • ComdatCollection
      • Clear
      • Contains
      • Count
      • GetEnumerator
      • IEnumerable.GetEnumerator
      • InsertOrUpdate
      • Item
      • Remove
      • TryGetValue
    • ComdatKind
    • ConstantAsMetadata
      • Constant
    • Context
      • BoolType
      • Context
      • CreateAttribute
      • CreateBasicBlock
      • CreateBitcodeModule
      • CreateConstant
      • CreateConstantString
      • CreateConstantStruct
      • CreateFunctionType
      • CreateMDNode
      • CreateMetadataString
      • CreateNamedConstantStruct
      • CreateStructType
      • Dispose
      • DoubleType
      • Float128Type
      • FloatType
      • GetFunctionType
      • GetIntType
      • GetMDKindId
      • GetPointerTypeFor
      • HalfFloatType
      • Int16Type
      • Int32Type
      • Int64Type
      • Int8Type
      • Metadata
      • MetadataType
      • Modules
      • OdrUniqueDebugTypes
      • OpenBinary
      • PpcFloat128Type
      • TokenType
      • VoidType
      • X86Float80Type
    • DataLayout
      • AbiAlignmentOf
      • AbiBitAlignmentOf
      • AbiSizeOf
      • BitOffsetOfElement
      • BitSizeOf
      • ByteSizeOf
      • CallFrameAlignmentOf
      • ElementAtOffset
      • Endianess
      • IntPtrType
      • OffsetOfElement
      • PointerSize
      • PreferredAlignmentOf
      • PreferredBitAlignmentOf
      • StoreSizeOf
      • ToString
    • Disassembler
      • Disassemble
      • Disassembler
      • SetOptions
    • DisassemblerOptions
    • ExtensiblePropertyContainer
      • AddExtendedPropertyValue
      • TryGetExtendedPropertyValue
    • ExtensiblePropertyDescriptor<T>
      • ExtensiblePropertyDescriptor
      • GetValueFrom
      • Name
      • SetValueIn
    • ExtensiblePropertyDescriptor<T>.LazyDefaultFactory
    • IBitcodeModuleFactory
      • CreateBitcodeModule
    • IExtensiblePropertyContainer
      • AddExtendedPropertyValue
      • TryGetExtendedPropertyValue
    • InternalCodeGeneratorException
      • InternalCodeGeneratorException
    • LlvmMetadata
      • Kind
      • ReplaceAllUsesWith
      • ToString
    • LocalAsMetadata
    • MDNode
      • Context
      • GetOperand
      • GetOperandString
      • IsDeleted
      • IsDistinct
      • IsResolved
      • IsTemporary
      • IsUniqued
      • Operands
      • ReplaceAllUsesWith
    • MDString
      • ToString
    • MDTuple
    • MemoryBuffer
      • Detach
      • Implicit
      • MemoryBuffer
      • Size
      • Slice
      • ToArray
    • MetadataAsValue
    • MetadataKind
    • ModuleFlag
      • Behavior
      • Metadata
      • ModuleFlag
      • Name
    • ModuleFlagBehavior
    • NamedMDNode
      • EraseFromParent
      • Name
      • Operands
      • ParentModule
    • OperandBundleNames
      • DeOpt
      • Funclet
      • GcTransition
    • OptimizationSizeLevel
    • RelocationMode
    • ScopeStack<T>
      • Depth
      • EnterScope
      • Item
      • ScopeStack
      • TryGetValue
    • Target
      • AvailableTargets
      • CreateTargetMachine
      • Description
      • FromTriple
      • HasAsmBackEnd
      • HasJIT
      • HasTargetMachine
      • Name
    • TargetMachine
      • Cpu
      • EmitToBuffer
      • EmitToFile
      • Features
      • FromTriple
      • Target
      • TargetData
      • TargetMachine
      • Triple
    • Triple
      • ArchitectureType
      • Environment
      • EnvironmentVersion
      • Equals
      • GetCanonicalArchForSubArch
      • GetCanonicalName
      • GetDefaultObjectFormat
      • GetHashCode
      • HostTriple
      • Implicit
      • Normalize
      • ObjectFormat
      • OS
      • SubArchitecture
      • ToString
      • Triple
      • Vendor
    • Triple.ArchType
    • Triple.EnvironmentType
    • Triple.ObjectFormatType
    • Triple.OSType
    • Triple.SubArchType
    • Triple.VendorType
    • ValueAsMetadata
      • Context
      • Implicit
      • Type
      • Value
  • Ubiquity.NET.Llvm.DebugInfo
    • DebugArrayType
      • DebugArrayType
      • DebugElementType
      • ElementType
      • Length
      • LowerBound
      • ResolveTemporary
    • DebugBasicType
      • DebugBasicType
    • DebugFunctionType
      • DebugFunctionType
      • IsVarArg
      • ParameterTypes
      • ReturnType
    • DebugInfoBuilder
      • CreateArgument
      • CreateArrayType
      • CreateBasicType
      • CreateCompileUnit
      • CreateEnumerationType
      • CreateEnumeratorValue
      • CreateExpression
      • CreateFile
      • CreateFunction
      • CreateGlobalVariableExpression
      • CreateLexicalBlock
      • CreateLexicalBlockFile
      • CreateLocalVariable
      • CreateMacro
      • CreateMemberType
      • CreateNamespace
      • CreatePointerType
      • CreateQualifiedType
      • CreateReplaceableCompositeType
      • CreateStructType
      • CreateSubRange
      • CreateSubroutineType
      • CreateTempMacroFile
      • CreateTypeArray
      • CreateTypedef
      • CreateUnionType
      • CreateVectorType
      • Finish
      • ForwardDeclareFunction
      • GetOrCreateArray
      • GetOrCreateTypeArray
      • InsertDeclare
      • InsertValue
      • OwningModule
    • DebugInfoFlags
    • DebugMemberInfo
      • DebugInfoFlags
      • DebugMemberInfo
      • DebugType
      • ExplicitLayout
      • File
      • Index
      • Line
      • Name
    • DebugMemberLayout
      • BitAlignment
      • BitOffset
      • BitSize
      • DebugMemberLayout
    • DebugPointerType
      • AddressSpace
      • DebugPointerType
      • ElementType
    • DebugStructType
      • DebugMembers
      • DebugStructType
      • IsOpaque
      • IsPacked
      • Members
      • Name
      • SetBody
      • SourceName
    • DebugType
      • Create
      • HasDebugInfo
    • DebugType<TNative, TDebug>
      • AddExtendedPropertyValue
      • Context
      • CreateArrayType
      • CreatePointerType
      • DIType
      • GetNullValue
      • Implicit
      • IntegerBitWidth
      • IsDouble
      • IsFloat
      • IsFloatingPoint
      • IsInteger
      • IsPointer
      • IsPointerPointer
      • IsSequence
      • IsSized
      • IsStruct
      • IsVoid
      • Kind
      • NativeType
      • TryGetExtendedPropertyValue
    • DebugUnionType
      • DebugMembers
      • DebugUnionType
      • IsOpaque
      • Members
      • Name
      • SetBody
    • DIBasicType
      • Encoding
    • DICompileUnit
      • EnumTypes
      • Flags
      • GlobalVariables
      • ImportedEntities
      • Macros
      • Producer
      • RetainedTypes
      • SplitDebugFileName
    • DICompositeType
      • BaseType
      • Discriminator
      • Elements
      • Identifier
      • TemplateParameters
      • VTableHolder
    • DICompositeTypeArray
    • DIDerivedType
      • BaseType
      • ClassType
      • Constant
      • ExtraData
      • ObjCProperty
      • StorageOffsetInBits
    • DIEnumerator
      • Name
    • DIExpression
    • DIFile
      • CheckSum
      • Directory
      • FileName
      • Path
      • Source
    • DIGlobalVariable
      • DisplayName
      • LinkageName
      • StaticDataMemberDeclaration
    • DIGlobalVariableExpression
      • Expression
      • Variable
    • DIGlobalVariableExpressionArray
    • DIImportedEntity
      • Entity
      • File
      • Name
      • Scope
    • DIImportedEntityArray
    • DILexicalBlock
    • DILexicalBlockBase
    • DILexicalBlockFile
    • DILocalScope
      • FirstNonLexicalBlockFileScope
      • LocalScope
      • SubProgram
    • DILocalVariable
      • Scope
    • DILocalVariableArray
    • DILocation
      • Column
      • DILocation
      • InlinedAt
      • InlinedAtScope
      • Line
      • Scope
      • ToString
    • DIMacro
      • Name
      • Value
    • DIMacroFile
      • Elements
      • File
    • DIMacroNode
    • DIMacroNodeArray
    • DIModule
      • ConfigurationMacros
      • IncludePath
      • Name
      • Scope
      • SysRoot
    • DINamespace
      • Name
      • Scope
    • DINode
      • Tag
    • DINodeArray
    • DIObjCProperty
      • File
      • GetterName
      • Name
      • SetterName
      • Type
    • DIScope
      • File
      • Name
      • Scope
    • DIScopeArray
    • DISubProgram
      • CompileUnit
      • ContainingType
      • Declaration
      • Describes
      • Line
      • LinkageName
      • Name
      • Signature
      • TemplateParams
      • ThrownTypes
      • Variables
    • DISubRange
    • DISubroutineType
      • TypeArray
    • DITemplateParameter
      • Name
      • Type
    • DITemplateParameterArray
    • DITemplateTypeParameter
    • DITemplateValueParameter
      • GetValue
    • DIType
      • BitAlignment
      • BitOffset
      • BitSize
      • DebugInfoFlags
      • Line
      • Name
      • Scope
    • DITypeArray
    • DiTypeKind
    • DITypeVoid
      • Instance
    • DIVariable
      • DIType
      • File
      • Line
      • Name
      • Scope
    • DwarfEmissionKind
    • ExpressionOp
    • GenericDINode
      • Header
    • IDebugType<TNative, TDebug>
      • CreateArrayType
      • CreatePointerType
      • DIType
      • NativeType
    • MacroKind
    • QualifiedTypeTag
    • SourceLanguage
    • Tag
    • TupleTypedArrayWrapper<T>
      • Count
      • GetEnumerator
      • IEnumerable.GetEnumerator
      • Item
      • Tuple
  • Ubiquity.NET.Llvm.Instructions
    • AddressSpaceCast
    • Alloca
      • ElementType
    • AtomicCmpXchg
      • IsWeak
    • AtomicRMW
      • Kind
    • AtomicRMWBinOp
    • BinaryOperator
    • BitCast
    • Branch
      • Condition
      • IsConditional
      • IsUnconitional
      • Successors
    • CallBr
      • AddAttributeAtIndex
      • Attributes
      • GetAttributeAtIndex
      • GetAttributeCountAtIndex
      • GetAttributesAtIndex
      • RemoveAttributeAtIndex
      • TargetFunction
    • CallInstruction
      • AddAttributeAtIndex
      • Attributes
      • GetAttributeAtIndex
      • GetAttributeCountAtIndex
      • GetAttributesAtIndex
      • IsTailCall
      • RemoveAttributeAtIndex
      • TargetFunction
    • Cast
      • FromType
      • ToType
    • CatchPad
      • CatchSwitch
    • CatchReturn
      • CatchPad
      • CatchSwitchParentPad
      • Successors
    • CatchSwitch
      • ParentPad
    • CleanupPad
    • CleanupReturn
      • CleanupPad
    • Cmp
      • Predicate
    • DebugDeclare
    • DebugInfoIntrinsic
    • ExtractElement
    • ExtractValue
    • FCmp
    • Fence
    • FPExt
    • FPToSI
    • FPToUI
    • FPTrunc
    • Freeze
      • Value
    • FuncletPad
      • ArgOperands
      • ParentPad
    • GetElementPtr
    • IndirectBranch
    • InsertElement
    • InsertValue
    • Instruction
      • Alignment
      • ContainingBlock
      • HasMetadata
      • IsMemoryAccess
      • Item
      • Location
      • NonDebugLocMetadata
      • Opcode
    • InstructionBuilder
      • Add
      • AddWithOverflow
      • Alloca
      • And
      • AppendBasicBlock
      • ArithmeticShiftRight
      • AtomicAdd
      • AtomicAnd
      • AtomicCmpXchg
      • AtomicFadd
      • AtomicFSub
      • AtomicMax
      • AtomicMin
      • AtomicNand
      • AtomicOr
      • AtomicSub
      • AtomicUMax
      • AtomicUMin
      • AtomicXchg
      • AtomicXor
      • BitCast
      • Branch
      • Call
      • Compare
      • ConstGetElementPtrInBounds
      • Context
      • CurrentDebugLocation
      • DebugTrap
      • DoNothing
      • ExtractValue
      • FAdd
      • FDiv
      • FMul
      • FNeg
      • FPExt
      • FPToSICast
      • FPToUICast
      • FPTrunc
      • Freeze
      • FRem
      • FSub
      • GetElementPtr
      • GetElementPtrInBounds
      • GetStructElementPointer
      • InsertBlock
      • InsertFunction
      • InsertValue
      • InstructionBuilder
      • IntCast
      • IntToPointer
      • Invoke
      • LandingPad
      • Load
      • LogicalShiftRight
      • MemCpy
      • MemMove
      • MemSet
      • Mul
      • MulWithOverflow
      • Neg
      • Not
      • Or
      • PhiNode
      • PointerToInt
      • PositionAtEnd
      • PositionBefore
      • Resume
      • Return
      • SDiv
      • Select
      • SetDebugLocation
      • ShiftLeft
      • SignExtend
      • SignExtendOrBitCast
      • SIToFPCast
      • SRem
      • Store
      • Sub
      • SubWithOverflow
      • Switch
      • Trap
      • Trunc
      • TruncOrBitCast
      • UDiv
      • UIToFPCast
      • Unreachable
      • URem
      • Xor
      • ZeroExtend
      • ZeroExtendOrBitCast
    • InstructionExtensions
      • Alignment
      • IsVolatile
    • IntCmp
    • IntPredicate
    • Intrinsic
      • LookupId
    • IntToPointer
    • Invoke
      • AddAttributeAtIndex
      • Attributes
      • GetAttributeAtIndex
      • GetAttributeCountAtIndex
      • GetAttributesAtIndex
      • RemoveAttributeAtIndex
      • TargetFunction
    • LandingPad
      • Clauses
      • IsCleanup
    • Load
      • IsVolatile
    • MemCpy
    • MemIntrinsic
    • MemMove
    • MemSet
    • OpCode
    • PhiNode
      • AddIncoming
    • PointerToInt
    • Predicate
    • RealPredicate
    • ResumeInstruction
    • ReturnInstruction
    • SelectInstruction
    • ShuffleVector
    • SignExtend
    • SIToFP
    • Store
      • IsVolatile
    • Switch
      • AddCase
      • Default
    • Terminator
    • Trunc
    • UIToFP
    • UnaryInstruction
    • UnaryOperator
    • Unreachable
    • UserOp1
    • UserOp2
    • VaArg
    • ZeroExtend
  • Ubiquity.NET.Llvm.JIT
    • GenericValue
      • GenericValue
      • IntegerBitWidth
      • ToDouble
      • ToFloat
      • ToInt32
      • ToUInt32
    • IExecutionEngine
      • AddEagerlyCompiledModule
      • DefaultSymbolResolver
      • GetFunctionDelegate
      • RemoveModule
      • TargetMachine
    • ILazyCompileExecutionEngine
      • AddLazyCompiledModule
    • LazyCompilationExecutionEngineExtensions
      • AddEagerlyCompiledModule
      • AddLazyCompiledModule
    • LazyFunctionCompiler
    • OrcJit
      • AddEagerlyCompiledModule
      • AddInteropCallback
      • AddLazyCompiledModule
      • DefaultSymbolResolver
      • Dispose
      • GetFunctionDelegate
      • OrcJit
      • RemoveModule
      • TargetMachine
  • Ubiquity.NET.Llvm.ObjectFile
    • BinaryKind
    • Relocation
      • Description
      • Equality
      • Equals
      • GetHashCode
      • Inequality
      • Kind
      • Offset
      • Section
      • Symbol
      • Value
    • Section
      • Address
      • ContainingBinary
      • ContainsSymbol
      • Contents
      • Equality
      • Equals
      • GetHashCode
      • Inequality
      • MoveToContainingSection
      • Name
      • Relocations
    • Symbol
      • Address
      • ContainingBinary
      • Equality
      • Equals
      • GetHashCode
      • Inequality
      • Name
      • Section
      • Size
    • TargetBinary
      • Dispose
      • Kind
      • Sections
      • Symbols
  • Ubiquity.NET.Llvm.Transforms
    • FunctionPassManager
      • Finish
      • FunctionPassManager
      • Initialize
      • Run
    • InterproceduralTransforms
      • AddAlwaysInlinerPass
      • AddArgumentPromotionPass
      • AddConstantMergePass
      • AddDeadArgEliminationPass
      • AddFunctionAttrsPass
      • AddFunctionInliningPass
      • AddGlobalDCEPass
      • AddGlobalOptimizerPass
      • AddInternalizePass
      • AddInternalizePassWithMustPreservePredicate
      • AddIPConstantPropagationPass
      • AddIPSCCPPass
      • AddPruneEHPass
      • AddStripDeadPrototypesPass
      • AddStripSymbolsPass
    • ModulePassManager
      • ModulePassManager
      • Run
    • PassManager
      • Dispose
    • Sanitizers
      • AddAddressSanitizerPass
      • AddDataFlowSanitizerPass
      • AddMemorySanitizerPass
      • AddSanitizerPass
      • AddThreadSanitizerPass
    • ScalarTransforms
      • AddAddDiscriminatorsPass
      • AddAggressiveDCEPass
      • AddAlignmentFromAssumptionsPass
      • AddBasicAliasAnalysisPass
      • AddBitTrackingDCEPass
      • AddCFGSimplificationPass
      • AddConstantPropagationPass
      • AddCorrelatedValuePropagationPass
      • AddDCEPass
      • AddDeadStoreEliminationPass
      • AddDemoteMemoryToRegisterPass
      • AddEarlyCSEMemSSAPass
      • AddEarlyCSEPass
      • AddGVNPass
      • AddIndVarSimplifyPass
      • AddInstructionCombiningPass
      • AddJumpThreadingPass
      • AddLICMPass
      • AddLoopDeletionPass
      • AddLoopIdiomPass
      • AddLoopRerollPass
      • AddLoopRotatePass
      • AddLoopUnrollAndJamPass
      • AddLoopUnrollPass
      • AddLoopUnswitchPass
      • AddLowerAtomicPass
      • AddLowerConstantIntrinsicsPass
      • AddLowerExpectIntrinsicPass
      • AddLowerSwitchPass
      • AddMemCpyOptPass
      • AddMergedLoadStoreMotionPass
      • AddNewGVNPass
      • AddPartiallyInlineLibCallsPass
      • AddPromoteMemoryToRegisterPass
      • AddReassociatePass
      • AddScalarizerPass
      • AddScalarReplAggregatesPass
      • AddScalarReplAggregatesPassSSA
      • AddScalarReplAggregatesPassWithThreshold
      • AddSCCPPass
      • AddScopedNoAliasAAPass
      • AddSimplifyLibCallsPass
      • AddTailCallEliminationPass
      • AddTypeBasedAliasAnalysisPass
      • AddVerifierPass
    • VectorTransforms
      • AddLoopVectorizePass
      • AddSLPVectorizePass
  • Ubiquity.NET.Llvm.Types
    • IArrayType
      • Length
    • IFunctionType
      • IsVarArg
      • ParameterTypes
      • ReturnType
    • INamedStructuralType
      • IsOpaque
      • Members
      • Name
    • IPointerType
      • AddressSpace
    • ISequenceType
      • ElementType
    • IStructType
      • IsPacked
      • SetBody
    • ITypeRef
      • Context
      • CreateArrayType
      • CreatePointerType
      • GetNullValue
      • IntegerBitWidth
      • IsDouble
      • IsFloat
      • IsFloatingPoint
      • IsInteger
      • IsPointer
      • IsPointerPointer
      • IsSequence
      • IsSized
      • IsStruct
      • IsVoid
      • Kind
    • IVectorType
      • Size
    • TypeKind
  • Ubiquity.NET.Llvm.Values
    • Argument
      • AddAttribute
      • AddAttributes
      • Attributes
      • ContainingFunction
      • Index
      • RemoveAttribute
      • SetAlignment
    • AsmDialect
    • AttributeCollectionExtensions
      • Remove
    • AttributeContainerMixins
      • AddAttribute
      • AddAttributes
      • Contains
      • RemoveAttribute
    • AttributeKind
    • AttributeKindExtensions
      • GetAttributeName
      • LookupId
      • RequiresIntValue
    • AttributeValue
      • Context
      • Equality
      • Equals
      • GetHashCode
      • HasIntegerVaue
      • Inequality
      • IntegerValue
      • IsEnum
      • IsString
      • IsValidOn
      • Kind
      • Name
      • StringValue
      • ToString
      • TypeValue
      • VerifyValidOn
    • BasicBlock
      • ContainingFunction
      • FirstInstruction
      • GetNextInstruction
      • Instructions
      • LastInstruction
      • Terminator
    • BlockAddress
      • BasicBlock
      • Function
    • CallingConvention
    • Constant
      • AllOnesValueFor
      • ConstPointerToNullFor
      • IsZeroValue
      • NullValueFor
      • ToMetadata
      • UndefinedValueFor
    • ConstantAggregate
    • ConstantAggregateZero
    • ConstantArray
      • From
    • ConstantData
    • ConstantDataArray
    • ConstantDataSequential
      • ExtractAsString
      • IsString
    • ConstantDataVector
    • ConstantExpression
      • BitCast
      • GetElementPtr
      • IntToPtrExpression
      • OpCode
    • ConstantFP
      • GetValueWithLoss
      • Value
    • ConstantInt
      • BitWidth
      • SignExtendedValue
      • ZeroExtendedValue
    • ConstantPointerNull
      • From
    • ConstantStruct
    • ConstantTokenNone
    • ConstantVector
    • FunctionAttributeIndex
    • FunctionIndexKinds
    • GlobalAlias
      • Aliasee
    • GlobalIFunc
      • RemoveFromParent
      • Resolver
    • GlobalIndirectSymbol
      • IndirectSymbol
    • GlobalObject
      • Alignment
      • Comdat
      • Metadata
      • Section
      • SetMetadata
    • GlobalObjectExtensions
      • Alignment
      • Comdat
      • SectionName
    • GlobalValue
      • IsDeclaration
      • Linkage
      • ParentModule
      • UnnamedAddress
      • Visibility
    • GlobalValueExtensions
      • Linkage
      • UnnamedAddress
      • Visibility
    • GlobalVariable
      • AddDebugInfo
      • Initializer
      • IsConstant
      • IsExternallyInitialized
      • IsThreadLocal
      • RemoveFromParent
    • IAttributeAccessor
      • AddAttributeAtIndex
      • GetAttributeAtIndex
      • GetAttributeCountAtIndex
      • GetAttributesAtIndex
      • RemoveAttributeAtIndex
    • IAttributeContainer
      • Attributes
      • Context
    • IAttributeDictionary
    • InlineAsm
    • IrFunction
      • AddAttributeAtIndex
      • AppendBasicBlock
      • Attributes
      • BasicBlocks
      • CallingConvention
      • DISubProgram
      • EntryBlock
      • EraseFromParent
      • FindOrCreateNamedBlock
      • GcName
      • GetAttributeAtIndex
      • GetAttributeCountAtIndex
      • GetAttributesAtIndex
      • InsertBasicBlock
      • IntrinsicId
      • IsVarArg
      • Parameters
      • PersonalityFunction
      • PrependBasicBlock
      • RemoveAttributeAtIndex
      • ReturnType
      • Signature
      • Verify
    • Linkage
    • UndefValue
    • UnnamedAddressKind
    • Use
      • User
      • Value
    • User
      • GetOperand
      • Operands
      • SetOperand
      • Uses
    • Value
      • AddExtendedPropertyValue
      • Context
      • IsCallSite
      • IsFunction
      • IsInstruction
      • IsNull
      • IsUndefined
      • Name
      • NativeType
      • ReplaceAllUsesWith
      • ToString
      • TryGetExtendedPropertyValue
    • ValueExtensions
      • RegisterName
    • Visibility

Class Context

Encapsulates an LLVM context

Inheritance
Object
Ubiquity.NET.Llvm.Interop.DisposableObject
Context
Inherited Members
Ubiquity.NET.Llvm.Interop.DisposableObject.Dispose()
Ubiquity.NET.Llvm.Interop.DisposableObject.IsDisposed
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Implements
IDisposable
IBitcodeModuleFactory
Namespace: Ubiquity.NET.Llvm
Assembly: Ubiquity.NET.Llvm.dll

Syntax

public sealed class Context : DisposableObject, IDisposable, IBitcodeModuleFactory

Remarks

A context in LLVM is a container for interning (LLVM refers to this as "uniqueing") various types and values in the system. This allows running multiple LLVM tool transforms etc.. on different threads without causing them to collide namespaces and types even if they use the same name (e.g. module one may have a type Foo, and so does module two but they are completely distinct from each other)

LLVM Debug information is ultimately all parented to a top level DICompileUnit as the scope, and a compilation unit is bound to a BitcodeModule, even though, technically the types are owned by a Context. Thus to keep things simpler and help make working with debug information easier. Ubiquity.NET.Llvm encapsulates the native type and the debug type in separate classes that are instances of the IDebugType<TNative, TDebug> interface

note

It is important to be aware of the fact that a Context is not thread safe. The context itself and the object instances it owns are intended for use by a single thread only. Accessing and manipulating LLVM objects from multiple threads may lead to race conditions corrupted state and any number of other undefined issues.

Constructors

Context()

Initializes a new instance of the Context class.Creates a new context

Properties

BoolType

Gets the LLVM boolean type for this context

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

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

Metadata

Gets an enumerable collection of all the metadata created in this context

MetadataType

Gets the LLVM Metadata type for this context

Modules

Gets the modules created in 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(String)

Adds a valueless named attribute

CreateAttribute(String, String)

Adds a Target specific named attribute with value

CreateAttribute(AttributeKind)

Creates a simple boolean attribute

CreateAttribute(AttributeKind, UInt64)

Creates an attribute with an integer value parameter

CreateBasicBlock(String)

Create a named BasicBlock without inserting it into a function

CreateBitcodeModule()

Creates a new instance of the BitcodeModule class in this context

CreateBitcodeModule(String)

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

CreateBitcodeModule(String, SourceLanguage, String, String, Boolean, String, UInt32)

Initializes a new instance of the BitcodeModule class with a root DICompileUnit to contain debugging information

CreateConstant(Boolean)

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(Int16)

Creates a new ConstantInt with a bit length of 16

CreateConstant(Int32)

Creates a new ConstantInt with a bit length of 32

CreateConstant(Int64)

Creates a new ConstantInt with a bit length of 64

CreateConstant(SByte)

Creates a new ConstantInt with a bit length of 8

CreateConstant(Single)

Creates a constant floating point value for a given value

CreateConstant(UInt16)

Creates a new ConstantInt with a bit length of 16

CreateConstant(UInt32)

Creates a new ConstantInt with a bit length of 32

CreateConstant(UInt32, UInt64, Boolean)

Creates a new ConstantInt with a bit length of 64

CreateConstant(UInt64)

Creates a new ConstantInt with a bit length of 64

CreateConstant(ITypeRef, UInt64, Boolean)

Create a constant value of the specified integer type

CreateConstantString(String)

Create a constant data string value

CreateConstantString(String, Boolean)

Create a constant data string value

CreateConstantStruct(Boolean, IEnumerable<Constant>)

Creates a constant structure from a set of values

CreateConstantStruct(Boolean, Constant[])

Creates a constant structure from a set of values

CreateFunctionType(DebugInfoBuilder, Boolean, IDebugType<ITypeRef, DIType>, IEnumerable<IDebugType<ITypeRef, DIType>>)

Creates a FunctionType with Debug information

CreateFunctionType(DebugInfoBuilder, Boolean, IDebugType<ITypeRef, DIType>, IDebugType<ITypeRef, DIType>[])

Creates a FunctionType with Debug information

CreateFunctionType(DebugInfoBuilder, IDebugType<ITypeRef, DIType>, IEnumerable<IDebugType<ITypeRef, DIType>>)

Creates a FunctionType with Debug information

CreateFunctionType(DebugInfoBuilder, IDebugType<ITypeRef, DIType>, IDebugType<ITypeRef, DIType>[])

Creates a FunctionType with Debug information

CreateMDNode(String)

Create an MDNode from a string

CreateMetadataString(String)

Creates a metadata string from the given string

CreateNamedConstantStruct(IStructType, IEnumerable<Constant>)

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

CreateNamedConstantStruct(IStructType, Constant[])

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

CreateStructType(Boolean, ITypeRef, ITypeRef[])

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

CreateStructType(String)

Create an empty structure type

CreateStructType(String, Boolean, ITypeRef[])

Creates a new structure type in this Context

Dispose(Boolean)
GetFunctionType(ITypeRef, IEnumerable<ITypeRef>)

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

GetFunctionType(ITypeRef, IEnumerable<ITypeRef>, Boolean)

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

GetFunctionType(ITypeRef, ITypeRef[])

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

GetIntType(UInt32)

Get's an LLVM integer type of arbitrary bit width

GetMDKindId(String)

Gets non-zero Metadata kind ID for a given name

GetPointerTypeFor(ITypeRef)

Get a type that is a pointer to a value of a given type

OpenBinary(String)

Opens a TargetBinary from a path

Back to top Copyright (C) 2017-2019, Ubiquity.NET Contributors
Build: 10.0.0-alpha