• 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

Enum AttributeKind

Enumeration for the known LLVM attributes

Namespace: Ubiquity.NET.Llvm.Values
Assembly: Ubiquity.NET.Llvm.dll

Syntax

public enum AttributeKind

Remarks

It is important to note that the integer values of this enum do NOT necessarily correlate to the LLVM attribute IDs. LLVM has moved away from using an enum Flags model as the number of attributes reached the limit of available bits. Thus, the enum was dropped. Instead, strings are used to identify attributes. However, for maximum compatibility and ease of use for this library the enum is retained and the provided attribute manipulation classes will map the enum to the associated string.

warning

As a result of the changes in LLVM this set of attributes is fluid and subject to change from version to version. Thus, code using any attributes that have changed or were removed will produce compile time errors. That is useful and by design so that any changes in LLVM naming will break at compile time instead of at runtime.

Fields

Alignment

This indicates that the pointer value may be assumed by the optimizer to have the specified alignment.

AllocSize

This attribute indicates that the annotated function will always return at least a given number of bytes (or null).

AlwaysInline

is attribute indicates that the inliner should attempt to inline this function into callers whenever possible, ignoring any active inlining size threshold for this caller.

ArgMemOnly

indicates that the only memory accesses inside function are loads and stores from objects pointed to by its pointer-typed arguments, with arbitrary offsets

Builtin

This indicates that the callee function at a call site should be recognized as a built-in function, even though the function’s declaration uses the nobuiltin attribute.

ByVal

This indicates that the pointer parameter should really be passed by value to the function.

Cold

This attribute indicates that this function is rarely called.

Convergent

This attribute marks a function as convergent

Dereferenceable

This indicates that the parameter or return pointer is dereferenceable

DereferenceableOrNull

This indicates that the parameter or return value isn’t both non-null and non-dereferenceable (up to 'n' bytes) at the same time.

InaccessibleMemOnly

This attribute indicates that the function may only access memory that is not accessible by the module being compiled.

InaccessibleMemOrArgMemOnly

This attribute indicates that the function may only access memory that is either not accessible by the module being compiled, or is pointed to by its pointer arguments.

InAlloca

The inalloca argument attribute allows the caller to take the address of outgoing stack arguments.

InlineHint

This attribute indicates that the source code contained a hint that inlining this function is desirable (such as the “inline” keyword in C/C++). It is just a hint; it imposes no requirements on the inliner.

InReg

This indicates that this parameter or return value should be treated in a special target-dependent fashion while emitting code for a function call or return (usually, by putting it in a register as opposed to memory, though some targets use it to distinguish between two different kinds of registers). Use of this attribute is target-specific.

JumpTable

This attribute indicates that the function should be added to a jump-instruction table at code-generation time,

MinSize

This attribute suggests that optimization passes and code generator passes make choices that keep the code size of this function as small as possible

Naked

This attribute disables prologue / epilogue emission for the function. This can have very system-specific consequences.

Nest

This indicates that the pointer parameter can be excised using the trampoline intrinsics.

NoAlias

This indicates that objects accessed via pointer values based on the argument or return value are not also accessed, during the execution of the function, via pointer values not based on the argument or return value.

NoBuiltin

This indicates that the callee function at a call site is not recognized as a built-in function.

NoCapture

This indicates that the callee does not make any copies of the pointer that outlive the callee itself.

NoDuplicate

This attribute indicates that calls to the function cannot be duplicated.

NoImplicitFloat

This attributes disables implicit floating point instructions.

NoInline

This attribute indicates that the inliner should never inline this function in any situation.

None

No attributes

NonLazyBind

This attribute suppresses lazy symbol binding for the function.

NonNull

This indicates that the parameter or return pointer is not null.

NoRecurse

This function attribute indicates that the function does not call itself either directly or indirectly down any possible call path

NoRedZone

This attribute indicates that the code generator should not use a red zone, even if the target-specific ABI normally permits it

NoReturn

This function attribute indicates that the function never returns normally.

NoUnwind

This function attribute indicates that the function never raises an exception.

OptimizeForSize

Optimize for size

OptimizeNone

Do not optimize

ReadNone

On a function, this attribute indicates that the function computes its result (or decides to unwind an exception) based strictly on its arguments, without dereferencing any pointer arguments or otherwise accessing any mutable state

ReadOnly

On a function, this attribute indicates that the function does not write through any pointer arguments (including byval arguments) or otherwise modify any state (e.g. memory, control registers, etc) visible to caller functions

Returned

This indicates that the function always returns the argument as its return value.

ReturnsTwice

This attribute indicates that this function can return twice.

SafeStack

This attribute indicates that SafeStack protection is enabled for this function.

SanitizeAddress

This attribute indicates that AddressSanitizer checks (dynamic address safety analysis) are enabled for this function.

SanitizeMemory

This attribute indicates that MemorySanitizer checks (dynamic detection of accesses to uninitialized memory) are enabled for this function.

SanitizeThread

This attribute indicates that ThreadSanitizer checks (dynamic thread safety analysis) are enabled for this function.

SExt

This indicates to the code generator that the parameter or return value should be sign-extended to the extent required by the target’s ABI (which is usually 32-bits) by the caller (for a parameter) or the callee (for a return value).

Speculatable

This function attribute indicates that the function does not have any effects besides calculating its result and does not have undefined behavior.

StackAlignment

This attribute indicates that, when emitting the prologue and epilogue, the back-end should forcibly align the stack pointer.

StackProtect

This attribute indicates that the function should emit a stack smashing protector.

StackProtectReq

This attribute indicates that the function should always emit a stack smashing protector.

StackProtectStrong

This attribute indicates that the function should emit a stack smashing protector.

StructRet

This indicates that the pointer parameter specifies the address of a structure that is the return value of the function in the source program.

SwiftError

This attribute is motivated to model and optimize Swift error handling.

SwiftSelf

This indicates that the parameter is the self/context parameter.

UWTable

This attribute indicates that the ABI being targeted requires that an unwind table entry be produced for this function even if we can show that no exceptions passes by it.

WriteOnly

This attribute indicates the item is write only

ZExt

This indicates to the code generator that the parameter or return value should be zero-extended to the extent required by the target’s ABI by the caller (for a parameter) or the callee (for a return value).

Extension Methods

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