Re-exportsยง
use rustc_abi::Align;๐use rustc_abi::BackendRepr;๐use rustc_abi::CVariadicStatus;๐use rustc_abi::Endian;๐use rustc_abi::Float;๐use rustc_abi::HasDataLayout;๐use rustc_abi::Integer;๐use rustc_abi::Primitive;๐use rustc_abi::Size;๐use rustc_codegen_ssa::common::IntPredicate;๐use rustc_codegen_ssa::mir::operand::OperandRef;๐use rustc_codegen_ssa::traits::BaseTypeCodegenMethods;๐use rustc_codegen_ssa::traits::BuilderMethods;๐use rustc_codegen_ssa::traits::ConstCodegenMethods;๐use rustc_codegen_ssa::traits::LayoutTypeCodegenMethods;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::layout::HasTyCtxt;๐use rustc_middle::ty::layout::LayoutOf;๐use rustc_middle::ty::layout::TyAndLayout;๐use rustc_span::bug;๐use rustc_target::spec::Arch;๐use rustc_target::spec::Env;๐use rustc_target::spec::LlvmAbi;๐use rustc_target::spec::RustcAbi;๐use rustc_target::spec::Target;๐use crate::builder::Builder;๐use crate::llvm::Value;๐use crate::type_of::LayoutLlvmExt;๐
Enumsยง
- Allow
Higher ๐Align - Whether to respect a value alignment that is higher than the slot alignment.
- Force
Right ๐Adjust - Determines where in the slot the value is located. Only takes effect on big-endian targets.
- Pass
Mode ๐ - Slot
Size ๐
Functionsยง
- copy_
to_ ๐temporary_ if_ more_ aligned - Copy into a temporary if the type is more aligned than the register save area.
- emit_
aapcs_ ๐va_ arg - emit_
direct_ ๐ptr_ va_ arg - emit_
hexagon_ ๐va_ arg_ bare_ metal - emit_
hexagon_ ๐va_ arg_ musl - emit_
powerpc_ ๐va_ arg - emit_
ptr_ ๐va_ arg - emit_
s390x_ ๐va_ arg - emit_
va_ ๐arg - Determine the va_arg implementation to use. The LLVM va_arg instruction is lacking in some instances, so we should only use it as a fallback.
- emit_
x86_ ๐64_ sysv64_ va_ arg - emit_
xtensa_ ๐va_ arg - get_
param_ ๐type_ alignment - Some backends apply special alignment rules to c-variadic arguments.
- is_
powerpc_ ๐softfloat_ abi - round_
pointer_ ๐up_ to_ alignment - round_
up_ ๐to_ alignment - x86_
64_ ๐sysv64_ va_ arg_ from_ memory