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.
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 🔒
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 🔒