sun::codegen::abi::aapcs64

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::Variant

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