sun::codegen::abi::ArgLowering
struct · Source (opens in a new tab)
struct sun::codegen::abi::ArgLoweringThe LLVM representation and passing rules for one C argument.
Public Functions
isCoerced
public · function · Source (opens in a new tab)
bool sun::codegen::abi::ArgLowering::isCoerced() constReports whether the calling convention changes the value representation.
isDirect
public · function · Source (opens in a new tab)
bool sun::codegen::abi::ArgLowering::isDirect() constReports whether the calling convention passes the value unchanged.
isIndirect
public · function · Source (opens in a new tab)
bool sun::codegen::abi::ArgLowering::isIndirect() constReports whether the calling convention passes an address to the value.
Public Fields
align
public · variable · Source (opens in a new tab)
uint64_t sun::codegen::abi::ArgLowering::align = 1No documentation comment.
extend
public · variable · Source (opens in a new tab)
Extend sun::codegen::abi::ArgLowering::extend = Extend::NoneNo documentation comment.
Related: Extend, Extend::None
indirectByval
public · variable · Source (opens in a new tab)
bool sun::codegen::abi::ArgLowering::indirectByval = trueNo documentation comment.
kind
public · variable · Source (opens in a new tab)
ArgKind sun::codegen::abi::ArgLowering::kind = ArgKind::DirectNo documentation comment.
Related: ArgKind, ArgKind::Direct
pieceOffsets
public · variable · Source (opens in a new tab)
llvm::SmallVector<uint64_t, 2> sun::codegen::abi::ArgLowering::pieceOffsetsNo documentation comment.
pieces
public · variable · Source (opens in a new tab)
llvm::SmallVector<llvm::Type*, 2> sun::codegen::abi::ArgLowering::piecesNo documentation comment.
stackAlign
public · variable · Source (opens in a new tab)
uint64_t sun::codegen::abi::ArgLowering::stackAlign = 0No documentation comment.
type
public · variable · Source (opens in a new tab)
llvm::Type* sun::codegen::abi::ArgLowering::type = nullptrNo documentation comment.