sun::codegen::abi::aapcs64
namespace · Source (opens in a new tab)
Lowers C calls and values using the AArch64 calling convention.
Functions
lowerArgument
public · function · Source (opens in a new tab)
ArgLowering sun::codegen::abi::aapcs64::lowerArgument(llvm::Type *type, const llvm::DataLayout &dl, Variant variant=Variant::Elf, bool isSigned=false)Classify one type as it would be passed as a parameter.
Classifies an LLVM argument using the target C calling convention.
isSigned only matters for the Darwin variant's small-integer extension.
Related: sun::codegen::abi::ArgLowering, Variant, Variant::Elf
lowerCSignature
public · function · Source (opens in a new tab)
sun::codegen::abi::SignatureLowering sun::codegen::abi::aapcs64::lowerCSignature(llvm::Type *returnType, llvm::ArrayRef< llvm::Type * > paramTypes, const llvm::DataLayout &dl, Variant variant=Variant::Elf, const sun::codegen::abi::SignednessInfo *signs=nullptr)Classify a whole signature.
Classifies every parameter and the result of a C function signature.
Related: sun::codegen::abi::SignatureLowering, Variant, Variant::Elf, sun::codegen::abi::SignednessInfo
lowerReturn
public · function · Source (opens in a new tab)
ArgLowering sun::codegen::abi::aapcs64::lowerReturn(llvm::Type *type, const llvm::DataLayout &dl, Variant variant=Variant::Elf, bool isSigned=false)Classify one type as it would be returned.
Classifies an LLVM return value using the target C calling convention.
Related: sun::codegen::abi::ArgLowering, Variant, Variant::Elf
Enums
Variant
public · enum · Source (opens in a new tab)
enum class sun::codegen::abi::aapcs64::VariantWhich flavor of AAPCS64 to apply.
Aggregate rules are shared; Darwin adds caller-side integer extension and drops the HFA alignstack attribute.
Elf
Elf
No documentation comment.
Darwin
Darwin
No documentation comment.