Flags describing how a single calling‐convention argument is passed.

Synopsis

Declared in <llvm/CodeGen/TargetCallingConv.h>

struct ArgFlagsTy;

Enums

Name

Description

Flags

Flag bits describing an argument.

Member Functions

Name

Description

ArgFlagsTy [constructor]

Construct default argument flags with zero alignments.

getByRefSize

Return the size in bytes of a byref argument.

getByValSize

Return the size in bytes of a byval argument.

getFlags

Return the argument's boolean flags.

getNonZeroByValAlign

Return the byval alignment; requires the byval flag to be set.

getNonZeroMemAlign

Return the memory alignment, or 1 if unset.

getNonZeroOrigAlign

Return the original alignment, or 1 if unset.

getPointerAddrSpace

Return the address space of a pointer argument.

isByRef

Return true if the argument is passed by reference in memory.

isByVal

Return true if the argument is a struct passed by value.

isCFGuardTarget

Return true if the argument is a Control Flow Guard target.

isCopyElisionCandidate

Return true if the argument is a copy‐elision candidate.

isHva

Return true if the argument is an HVA field.

isHvaStart

Return true if the argument starts an HVA structure.

isInAlloca

Return true if the argument is passed with inalloca.

isInConsecutiveRegs

Return true if the argument is passed in consecutive registers.

isInConsecutiveRegsLast

Return true if this is the last of consecutive‐register parts.

isInReg

Return true if the argument is passed in a register.

isNest

Return true if the argument is a nested‐function static chain.

isNoExt

Return true if the argument has no extension.

isPointer

Return true if the argument is a pointer.

isPreallocated

Return true if the argument is preallocated (byval without the copy).

isReturned

Return true if the argument is always returned.

isSExt

Return true if the argument is sign‐extended.

isSRet

Return true if the argument is a hidden struct‐return pointer.

isSecArgPass

Return true if the argument is a second‐argument‐pass value.

isSplit

Return true if the argument is part of a split.

isSplitEnd

Return true if this is the last part of a split argument.

isSwiftAsync

Return true if the argument is a Swift async context parameter.

isSwiftError

Return true if the argument is a Swift error parameter.

isSwiftSelf

Return true if the argument is a Swift self parameter.

isVarArg

Return true if the argument is part of a variable argument list.

isZExt

Return true if the argument is zero‐extended.

setByRef

Mark the argument as passed by reference in memory.

setByRefSize

Set the size in bytes of a byref argument.

setByVal

Mark the argument as a struct passed by value.

setByValSize

Set the size in bytes of a byval argument.

setCFGuardTarget

Mark the argument as a Control Flow Guard target.

setCopyElisionCandidate

Mark the argument as a copy‐elision candidate.

setHva

Mark the argument as an HVA field.

setHvaStart

Mark the argument as the start of an HVA structure.

setInAlloca

Mark the argument as passed with inalloca.

setInConsecutiveRegs

Mark whether the argument is passed in consecutive registers.

setInConsecutiveRegsLast

Mark whether this is the last of consecutive‐register parts.

setInReg

Mark the argument as passed in a register.

setMemAlign

Set the alignment used when the argument is passed in memory.

setNest

Mark the argument as a nested‐function static chain.

setNoExt

Mark the argument as having no extension.

setOrigAlign

Set the original alignment of the argument.

setPointer

Mark the argument as a pointer.

setPointerAddrSpace

Set the address space of a pointer argument.

setPreallocated

Mark the argument as preallocated (byval without the copy).

setReturned

Mark whether the argument is always returned.

setSExt

Mark the argument as sign‐extended.

setSRet

Mark the argument as a hidden struct‐return pointer.

setSecArgPass

Mark the argument as a second‐argument‐pass value.

setSplit

Mark the argument as part of a split.

setSplitEnd

Mark this as the last part of a split argument.

setSwiftAsync

Mark the argument as a Swift async context parameter.

setSwiftError

Mark the argument as a Swift error parameter.

setSwiftSelf

Mark the argument as a Swift self parameter.

setVarArg

Mark the argument as part of a variable argument list.

setZExt

Mark the argument as zero‐extended.

Created with MrDocs