sun::codegen::abi::ArgLowering

sun::codegen::abi::ArgLowering

struct · Source (opens in a new tab)

struct sun::codegen::abi::ArgLowering

The 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() const

Reports whether the calling convention changes the value representation.

isDirect

public · function · Source (opens in a new tab)

bool sun::codegen::abi::ArgLowering::isDirect() const

Reports whether the calling convention passes the value unchanged.

isIndirect

public · function · Source (opens in a new tab)

bool sun::codegen::abi::ArgLowering::isIndirect() const

Reports 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 = 1

No documentation comment.

extend

public · variable · Source (opens in a new tab)

Extend sun::codegen::abi::ArgLowering::extend = Extend::None

No documentation comment.

Related: Extend, Extend::None

indirectByval

public · variable · Source (opens in a new tab)

bool sun::codegen::abi::ArgLowering::indirectByval = true

No documentation comment.

kind

public · variable · Source (opens in a new tab)

ArgKind sun::codegen::abi::ArgLowering::kind = ArgKind::Direct

No documentation comment.

Related: ArgKind, ArgKind::Direct

pieceOffsets

public · variable · Source (opens in a new tab)

llvm::SmallVector<uint64_t, 2> sun::codegen::abi::ArgLowering::pieceOffsets

No documentation comment.

pieces

public · variable · Source (opens in a new tab)

llvm::SmallVector<llvm::Type*, 2> sun::codegen::abi::ArgLowering::pieces

No documentation comment.

stackAlign

public · variable · Source (opens in a new tab)

uint64_t sun::codegen::abi::ArgLowering::stackAlign = 0

No documentation comment.

type

public · variable · Source (opens in a new tab)

llvm::Type* sun::codegen::abi::ArgLowering::type = nullptr

No documentation comment.