Click or drag to resize
Llvm.NET LogoDataLayout Class

[This is preliminary documentation and is subject to change.]

Provides access to LLVM target data layout information
Inheritance Hierarchy
SystemObject
  Llvm.NETDataLayout

Namespace:  Llvm.NET
Assembly:  Llvm.NET (in Llvm.NET.dll) Version: 3.8.6158
Syntax
C#
public class DataLayout : IDisposable

The DataLayout type exposes the following members.

Properties
  NameDescription
Public propertyContext
Context used for this data (in particular, for retrieving pointer types)
Public propertyEndianess
Retrieves the byte ordering for this target
Top
Methods
  NameDescription
Public methodAbiAlignmentOf
Retrieves the ABI specified alignment, in bytes, for a specified type
Public methodAbiBitAlignmentOf
Public methodAbiSizeOf
Retrieves the ABI specified size of the given type
Public methodBitOffsetOfElement
Public methodBitSizeOf
Returns the number of bits necessary to hold the specified type.
Public methodByteSizeOf
Public methodCallFrameAlignmentOf
Retrieves the call frame alignment for a given type
Public methodDispose
Releases all resources used by the DataLayout
Protected methodDispose(Boolean)
Releases the unmanaged resources used by the DataLayout and optionally releases the managed resources
Public methodElementAtOffset
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize (Overrides ObjectFinalize.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIntPtrType
Retrieves an LLVM integer type with the same bit width as a pointer for the default address space of the target
Public methodIntPtrType(UInt32)
Retrieves an LLVM integer type with the same bit width as a pointer for the given address space of the target
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOffsetOfElement
Public methodStatic memberParse
Parses an LLVM target layout string
Public methodPointerSize
Retrieves the size of a pointer for the default address space of the target
Public methodPointerSize(UInt32)
Retrieves the size of a pointer for a given address space of the target
Public methodPreferredAlignmentOf(ITypeRef)
Public methodPreferredAlignmentOf(Value)
Public methodPreferredBitAlignementOf
Public methodStoreSizeOf
Retrieves the number of bits required to store a value of the given type
Public methodToString (Overrides ObjectToString.)
Top
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.

TypeSizeInBitsStoreSizeInBitsAllocSizeInBits
i1188
i8888
i19192432
i32323232
i100100104128
i128128128128
Float323232
Double646464
X86_FP80808096
Note Note
The alloc size depends on the alignment, and thus on the target. The values in the example table are for x86-32-linux.
See Also