• API Documentation
  • Articles
  • GitHub Repository
  • LLVM.org
  • LLVM Docs
Show / Hide Table of Contents
  • Llvm.NET
    • BitcodeModule
      • AddAlias
      • AddFunction
      • AddGlobal
      • AddGlobalInAddressSpace
      • AddModuleFlag
      • AddNamedMetadataOperand
      • AddVersionIdentMetadata
      • Aliases
      • AppendInlineAsm
      • Clone
      • Comdats
      • Context
      • CreateFunction
      • DataLayoutString
      • DebugMetadataVersion
      • DebugVersionValue
      • DIBuilder
      • DICompileUnit
      • Dispose
      • DwarfVersionValue
      • Functions
      • GetAlias
      • GetFunction
      • GetIntrinsicDeclaration
      • GetNamedGlobal
      • GetTypeByName
      • Globals
      • IExtensiblePropertyContainer.AddExtendedPropertyValue
      • IExtensiblePropertyContainer.TryGetExtendedPropertyValue
      • IsDisposed
      • Layout
      • Link
      • LoadFrom
      • ModuleFlags
      • ModuleInlineAsm
      • Name
      • NamedMetadata
      • SourceFileName
      • TargetTriple
      • 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
      • 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
    • 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
  • Llvm.NET.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
      • CreateMemberType
      • CreateNamespace
      • CreatePointerType
      • CreateQualifiedType
      • CreateReplaceableCompositeType
      • CreateStructType
      • CreateSubRange
      • CreateSubroutineType
      • CreateTypeArray
      • CreateTypedef
      • CreateUnionType
      • CreateVectorType
      • Finish
      • ForwardDeclareFunction
      • GetOrCreateArray
      • GetOrCreateTypeArray
      • InsertDeclare
      • InsertValue
      • OwningModule
    • DebugInfoFlags
    • DebugMemberInfo
      • DebugInfoFlags
      • 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
    • 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
      • 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
    • DIVariable
      • DIType
      • File
      • Line
      • Name
      • Scope
    • DwarfEmissionKind
    • ExpressionOp
    • GenericDINode
      • Header
    • IDebugType<TNative, TDebug>
      • CreateArrayType
      • CreatePointerType
      • DIType
      • NativeType
    • QualifiedTypeTag
    • SourceLanguage
    • Tag
    • TupleTypedArrayWrapper<T>
      • Count
      • GetEnumerator
      • IEnumerable.GetEnumerator
      • Item
      • Tuple
  • Llvm.NET.Instructions
    • AddressSpaceCast
    • Alloca
      • ElementType
    • AtomicCmpXchg
    • AtomicRMW
    • BinaryOperator
    • BitCast
    • Branch
      • Condition
      • IsConditional
      • IsUnconitional
      • Successors
    • 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
    • FuncletPad
      • ArgOperands
      • ParentPad
    • GetElementPtr
    • IndirectBranch
    • InsertElement
    • InsertValue
    • Instruction
      • Alignment
      • ContainingBlock
      • HasMetadata
      • IsMemoryAccess
      • Item
      • NonDebugLocMetadata
      • Opcode
    • InstructionBuilder
      • Add
      • AddWithOverflow
      • Alloca
      • And
      • ArithmeticShiftRight
      • AtomicAdd
      • AtomicAnd
      • AtomicCmpXchg
      • 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
      • 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
    • Unreachable
    • UserOp1
    • UserOp2
    • VaArg
    • ZeroExtend
  • Llvm.NET.JIT
    • GenericValue
      • GenericValue
      • IntegerBitWidth
      • ToDouble
      • ToFloat
      • ToInt32
      • ToUInt32
    • IExecutionEngine
      • AddEagerlyCompiledModule
      • DefaultSymbolResolver
      • GetFunctionDelegate
      • RemoveModule
      • TargetMachine
    • ILazyCompileExecutionEngine
      • AddLazyCompiledModule
      • AddLazyFunctionGenerator
    • LazyCompilationExecutionEngineExtensions
      • AddEagerlyCompiledModule
      • AddLazyCompiledModule
      • AddLazyFunctionGenerator
    • LazyFunctionCompiler
    • OrcJit
      • AddEagerlyCompiledModule
      • AddInteropCallback
      • AddLazyCompiledModule
      • AddLazyFunctionGenerator
      • DefaultSymbolResolver
      • Dispose
      • GetFunctionDelegate
      • OrcJit
      • RemoveModule
      • TargetMachine
  • Llvm.NET.ObjectFile
    • Relocation
      • Description
      • Equality
      • Equals
      • GetHashCode
      • Inequality
      • Kind
      • Offset
      • Section
      • Symbol
      • Value
    • Section
      • Address
      • ContainsSymbol
      • Contents
      • Equality
      • Equals
      • GetHashCode
      • Inequality
      • MoveToContainingSection
      • Name
      • ObjectFile
      • Relocations
    • Symbol
      • Address
      • Equality
      • Equals
      • GetHashCode
      • Inequality
      • Name
      • ObjectFile
      • Section
      • Size
    • TargetObjectFile
      • Dispose
      • Open
      • Sections
      • Symbols
      • TargetObjectFile
  • Llvm.NET.Transforms
    • FunctionPassManager
      • Finish
      • FunctionPassManager
      • Initialize
      • Run
    • InterproceduralTransforms
      • AddAlwaysInlinerPass
      • AddArgumentPromotionPass
      • AddConstantMergePass
      • AddDeadArgEliminationPass
      • AddFunctionAttrsPass
      • AddFunctionInliningPass
      • AddGlobalDCEPass
      • AddGlobalOptimizerPass
      • AddInternalizePass
      • AddIPConstantPropagationPass
      • AddIPSCCPPass
      • AddPruneEHPass
      • AddStripDeadPrototypesPass
      • AddStripSymbolsPass
    • ModulePassManager
      • ModulePassManager
      • Run
    • PassManager
      • Dispose
    • Sanitizers
      • AddAddressSanitizerPass
      • AddDataFlowSanitizerPass
      • AddMemorySanitizerPass
      • AddSanitizerPass
      • AddThreadSanitizerPass
    • ScalarTransforms
      • AddAggressiveDCEPass
      • AddAlignmentFromAssumptionsPass
      • AddBasicAliasAnalysisPass
      • AddBitTrackingDCEPass
      • AddCFGSimplificationPass
      • AddConstantPropagationPass
      • AddCorrelatedValuePropagationPass
      • AddDeadStoreEliminationPass
      • AddDemoteMemoryToRegisterPass
      • AddEarlyCSEMemSSAPass
      • AddEarlyCSEPass
      • AddGVNPass
      • AddIndVarSimplifyPass
      • AddInstructionCombiningPass
      • AddJumpThreadingPass
      • AddLICMPass
      • AddLoopDeletionPass
      • AddLoopIdiomPass
      • AddLoopRerollPass
      • AddLoopRotatePass
      • AddLoopUnrollAndJamPass
      • AddLoopUnrollPass
      • AddLoopUnswitchPass
      • AddLowerExpectIntrinsicPass
      • AddLowerSwitchPass
      • AddMemCpyOptPass
      • AddMergedLoadStoreMotionPass
      • AddNewGVNPass
      • AddPartiallyInlineLibCallsPass
      • AddPromoteMemoryToRegisterPass
      • AddReassociatePass
      • AddScalarizerPass
      • AddScalarReplAggregatesPass
      • AddScalarReplAggregatesPassSSA
      • AddScalarReplAggregatesPassWithThreshold
      • AddSCCPPass
      • AddScopedNoAliasAAPass
      • AddSimplifyLibCallsPass
      • AddTailCallEliminationPass
      • AddTypeBasedAliasAnalysisPass
      • AddVerifierPass
      • LowerAtomicPass
    • VectorTransforms
      • AddLoopVectorizePass
      • AddSLPVectorizePass
  • Llvm.NET.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
  • Llvm.NET.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
      • Inequality
      • IntegerValue
      • IsEnum
      • IsInt
      • IsString
      • IsValidOn
      • Kind
      • Name
      • StringValue
      • ToString
      • 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
      • 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 DataLayout

Provides access to LLVM target data layout information

Inheritance
Object
DataLayout
Inherited Members
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Namespace: Llvm.NET
Assembly: Llvm.NET.dll

Syntax

public sealed class DataLayout

Remarks

There is a distinction between various sizes and alignment for a given type that are target dependent.

The following table illustrates the differences in sizes and their meaning for a sample set of types.

Type SizeInBits StoreSizeInBits AbiSizeInBits
i1 1 8 8
i8 8 8 8
i19 19 24 32
i32 32 32 32
i10 100 104 128
i128 128 128 128
Float 32 32 32
Double 64 64 64
X86_FP80 80 80 96

note

The allocation size depends on the alignment, and thus on the target. The values in the example table are for x86-32-linux.

Property Definition
SizeInBits Minimum number of bits needed to represent the full range of values for the type
StoreSizeInBits Minimum number of bits needed to actually store a single value of the type
AbiSizeInBits Total number of bits used to store a value in a sequence, including any alignment padding

The allocation size determines the total size of each entry in a sequence so that the "next" element is computed by adding the size to the start address of the current element.

Properties

Endianess

Gets the byte ordering for this target

Methods

AbiAlignmentOf(ITypeRef)

Retrieves the ABI specified alignment, in bytes, for a specified type

AbiBitAlignmentOf(ITypeRef)

Gets the ABI alignment of the type in bits

AbiSizeOf(ITypeRef)

Retrieves the ABI specified size of the given type

BitOffsetOfElement(IStructType, UInt32)

Gets the offset of a structure element in bits

BitSizeOf(ITypeRef)

Returns the number of bits necessary to hold the specified type.

ByteSizeOf(ITypeRef)

Gets the byte size of a type

CallFrameAlignmentOf(ITypeRef)

Retrieves the call frame alignment for a given type

ElementAtOffset(IStructType, UInt64)

Gets the element index for a specific offset in a given structure

IntPtrType(Context)

Retrieves an LLVM integer type with the same bit width as a pointer for the default address space of the target

IntPtrType(Context, UInt32)

Retrieves an LLVM integer type with the same bit width as a pointer for the given address space of the target

OffsetOfElement(IStructType, UInt32)

Gets the offset of an element in a structure

PointerSize()

Gets the size of a pointer for the default address space of the target

PointerSize(UInt32)

Retrieves the size of a pointer for a given address space of the target

PreferredAlignmentOf(ITypeRef)

Gets the preferred alignment for an LLVM type

PreferredAlignmentOf(Value)

Gets the preferred alignment for a Value

PreferredBitAlignmentOf(ITypeRef)

Gets the preferred alignment of the type in bits

StoreSizeOf(ITypeRef)

Retrieves the number of bits required to store a value of the given type

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