# Module Llvm_target.DataLayout

    module DataLayout: sig .. end

    type t

    val of_string : string -> t

`of_string rep` parses the data layout string representation `rep`. See the constructor `llvm::DataLayout::DataLayout`.

    val as_string : t -> string

`as_string dl` is the string representation of the data layout `dl`. See the method `llvm::DataLayout::getStringRepresentation`.

    val byte_order : t -> Llvm_target.Endian.t

Returns the byte order of a target, either `Endian.Big` or `Endian.Little`. See the method `llvm::DataLayout::isLittleEndian`.

    val pointer_size : t -> int

Returns the pointer size in bytes for a target. See the method `llvm::DataLayout::getPointerSize`.

    val intptr_type : Llvm.llcontext -> t -> Llvm.lltype

Returns the integer type that is the same size as a pointer on a target. See the method `llvm::DataLayout::getIntPtrType`.

    val qualified_pointer_size : int -> t -> int

Returns the pointer size in bytes for a target in a given address space. See the method `llvm::DataLayout::getPointerSize`.

    val qualified_intptr_type : Llvm.llcontext -> int -> t -> Llvm.lltype

Returns the integer type that is the same size as a pointer on a target in a given address space. See the method `llvm::DataLayout::getIntPtrType`.

    val size_in_bits : Llvm.lltype -> t -> Stdlib.Int64.t

Computes the size of a type in bits for a target. See the method `llvm::DataLayout::getTypeSizeInBits`.

    val store_size : Llvm.lltype -> t -> Stdlib.Int64.t

Computes the storage size of a type in bytes for a target. See the method `llvm::DataLayout::getTypeStoreSize`.

    val abi_size : Llvm.lltype -> t -> Stdlib.Int64.t

Computes the ABI size of a type in bytes for a target. See the method `llvm::DataLayout::getTypeAllocSize`.

    val abi_align : Llvm.lltype -> t -> int

Computes the ABI alignment of a type in bytes for a target. See the method `llvm::DataLayout::getTypeABISize`.

    val stack_align : Llvm.lltype -> t -> int

Computes the call frame alignment of a type in bytes for a target. See the method `llvm::DataLayout::getTypeABISize`.

    val preferred_align : Llvm.lltype -> t -> int

Computes the preferred alignment of a type in bytes for a target. See the method `llvm::DataLayout::getTypeABISize`.

    val preferred_align_of_global : Llvm.llvalue -> t -> int

Computes the preferred alignment of a global variable in bytes for a target. See the method `llvm::DataLayout::getPreferredAlignment`.

    val element_at_offset : Llvm.lltype -> Stdlib.Int64.t -> t -> int

Computes the structure element that contains the byte offset for a target. See the method `llvm::StructLayout::getElementContainingOffset`.

    val offset_of_element : Llvm.lltype -> int -> t -> Stdlib.Int64.t

Computes the byte offset of the indexed struct element for a target. See the method `llvm::StructLayout::getElementContainingOffset`.