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: EndianThe endianness of the target.
natural_stack_alignment: Option<Align>The target’s natural stack alignment, if present.
program_address_space: AddressSpaceThe address space for program memory.
global_variable_address_space: AddressSpaceThe address space for global variables.
alloca_address_space: AddressSpaceThe address space for objects created by alloca.
type_alignments: TypeAlignSpecsNon-pointer type alignment specifications for the target.
pointer_alignments: PointerAlignSpecsPointer alignment specifications for the target.
aggregate_alignment: AlignAggregate 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.