Module abi

Source

Structs§

ArgAbi πŸ”’
Information about how to pass an argument to, or return a value from, a function, under some ABI.
ArgAttribute πŸ”’
ArgAttributes πŸ”’
A compact representation of LLVM attributes (at least those relevant for this module) that can be manipulated without interacting with LLVM’s Attribute machinery.
CastTarget πŸ”’
Describes the type used for PassMode::Cast.
FnAbi πŸ”’
Metadata describing how the arguments to a native function should be passed in order to respect the native ABI.
Reg πŸ”’
Uniform πŸ”’
An argument passed entirely registers with the same kind (e.g., HFA / HVA on PPC64 and AArch64).

Enums§

AdjustForForeignAbiError πŸ”’
Error produced by attempting to adjust a FnAbi, for a β€œforeign” ABI.
ArgExtension πŸ”’
Sometimes an ABI requires small integers to be extended to a full or partial register. This enum defines if this extension should be zero-extension or sign-extension when necessary. When it is not necessary to extend the argument, this enum is ignored.
Conv πŸ”’
ExternAbi πŸ”’
PassMode πŸ”’
Primitive πŸ”’
Fundamental unit of memory access and layout.
RegKind πŸ”’
RiscvInterruptKind πŸ”’

Constants§

ABI_AFFECTING_ATTRIBUTES πŸ”’
OPTIMIZATION_ATTRIBUTES πŸ”’
WIDE_PTR_ADDR πŸ”’
The first half of a wide pointer.
WIDE_PTR_EXTRA πŸ”’
The second half of a wide pointer.

Traits§

ArgAbiExt πŸ”’
ArgAttributesExt πŸ”’
FnAbiLlvmExt πŸ”’
LlvmType πŸ”’

Functions§

get_attrs πŸ”’