Struct llvm_mapper::record::DataLayout [−][src]
#[non_exhaustive]pub struct DataLayout {
pub endianness: Endian,
pub natural_stack_alignment: Option<Align>,
pub program_address_space: AddressSpace,
pub global_variable_address_space: AddressSpace,
pub alloca_address_space: AddressSpace,
pub type_alignments: TypeAlignSpecs,
pub pointer_alignments: PointerAlignSpecs,
pub aggregate_alignment: Align,
pub function_pointer_alignment: Option<FunctionPointerAlign>,
pub mangling: Option<Mangling>,
pub native_integer_widths: Vec<u32>,
pub non_integral_address_spaces: Vec<AddressSpace>,
}
Expand description
Models the MODULE_CODE_DATALAYOUT
record.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.endianness: Endian
The endianness of the target.
natural_stack_alignment: Option<Align>
The target’s natural stack alignment, if present.
program_address_space: AddressSpace
The address space for program memory.
global_variable_address_space: AddressSpace
The address space for global variables.
alloca_address_space: AddressSpace
The address space for objects created by alloca
.
type_alignments: TypeAlignSpecs
Non-pointer type alignment specifications for the target.
pointer_alignments: PointerAlignSpecs
Pointer alignment specifications for the target.
aggregate_alignment: Align
Aggregate alignment for the target.
function_pointer_alignment: Option<FunctionPointerAlign>
Function pointer alignment for the target, if present.
mangling: Option<Mangling>
The target’s symbol mangling discipline, if present.
native_integer_widths: Vec<u32>
A list of integer widths (in bits) that are efficiently supported by the target.
non_integral_address_spaces: Vec<AddressSpace>
A list of address spaces that use non-integral pointers.