Re-exportsยง
use std::fmt;๐use std::iter;๐use arrayvec::ArrayVec;๐use rustc_abi::AddressSpace;๐use rustc_abi::Align;๐use rustc_abi::BackendRepr;๐use rustc_abi::CanonAbi;๐use rustc_abi::ExternAbi;๐use rustc_abi::FieldsShape;๐use rustc_abi::HasDataLayout;๐use rustc_abi::Primitive;๐use rustc_abi::Reg;๐use rustc_abi::RegKind;๐use rustc_abi::Scalar;๐use rustc_abi::Size;๐use rustc_abi::TyAbiInterface;๐use rustc_abi::TyAndLayout;๐use rustc_abi::Variants;๐use rustc_macros::StableHash;๐pub use crate::spec::AbiMap;use crate::spec::Arch;๐use crate::spec::HasTargetSpec;๐use crate::spec::HasX86AbiOpt;๐use crate::spec::RustcAbi;๐pub use attr_impl::ArgAttribute;
Modulesยง
- aarch64 ๐
- amdgpu ๐
- arm ๐
- attr_
impl ๐ - avr ๐
- LLVM-frontend specific AVR calling convention implementation.
- bpf ๐
- csky ๐
- hexagon ๐
- loongarch ๐
- m68k ๐
- mips ๐
- mips64 ๐
- msp430 ๐
- nvptx64 ๐
- powerpc ๐
- powerpc64 ๐
- riscv ๐
- s390x ๐
- size_
asserts ๐ - sparc ๐
- sparc64 ๐
- wasm ๐
- x86 ๐
- x86_64 ๐
- x86_
win32 ๐ - x86_
win64 ๐ - xtensa ๐
- The Xtensa ABI implementation
Structsยง
- ArgAbi
- Information about how to pass an argument to, or return a value from, a function, under some ABI.
- 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.
- Cast
Target - 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ยง
- 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.
- Indirect
Mode - Different modes in which indirect arguments can be passed.
- Pass
Mode
Functionsยง
- fields_
are_ ๐noundef - Returns
trueif the fields oflayoutcontiguously cover bytes0..layout.sizewith no padding gaps and each field is recursivelylayout_is_noundef. - layout_
is_ ๐noundef - Determines whether
layoutcontains no uninit bytes (no padding, no unions), using only the computed layout.