LLVM 20.0.0git
|
CCValAssign - Represent assignment of one arg/retval to a location. More...
#include "llvm/CodeGen/CallingConvLower.h"
Public Types | |
enum | LocInfo { Full , SExt , ZExt , AExt , SExtUpper , ZExtUpper , AExtUpper , BCvt , Trunc , VExt , FPExt , Indirect } |
Public Member Functions | |
void | convertToReg (unsigned RegNo) |
void | convertToMem (int64_t Offset) |
unsigned | getValNo () const |
MVT | getValVT () const |
bool | isRegLoc () const |
bool | isMemLoc () const |
bool | isPendingLoc () const |
bool | needsCustom () const |
Register | getLocReg () const |
int64_t | getLocMemOffset () const |
unsigned | getExtraInfo () const |
MVT | getLocVT () const |
LocInfo | getLocInfo () const |
bool | isExtInLoc () const |
bool | isUpperBitsInLoc () const |
Static Public Member Functions | |
static CCValAssign | getReg (unsigned ValNo, MVT ValVT, unsigned RegNo, MVT LocVT, LocInfo HTP, bool IsCustom=false) |
static CCValAssign | getCustomReg (unsigned ValNo, MVT ValVT, unsigned RegNo, MVT LocVT, LocInfo HTP) |
static CCValAssign | getMem (unsigned ValNo, MVT ValVT, int64_t Offset, MVT LocVT, LocInfo HTP, bool IsCustom=false) |
static CCValAssign | getCustomMem (unsigned ValNo, MVT ValVT, int64_t Offset, MVT LocVT, LocInfo HTP) |
static CCValAssign | getPending (unsigned ValNo, MVT ValVT, MVT LocVT, LocInfo HTP, unsigned ExtraInfo=0) |
CCValAssign - Represent assignment of one arg/retval to a location.
Definition at line 33 of file CallingConvLower.h.
Enumerator | |
---|---|
Full | |
SExt | |
ZExt | |
AExt | |
SExtUpper | |
ZExtUpper | |
AExtUpper | |
BCvt | |
Trunc | |
VExt | |
FPExt | |
Indirect |
Definition at line 35 of file CallingConvLower.h.
|
inline |
Definition at line 117 of file CallingConvLower.h.
References llvm::Offset.
|
inline |
Definition at line 115 of file CallingConvLower.h.
|
inlinestatic |
Definition at line 103 of file CallingConvLower.h.
References getMem(), and llvm::Offset.
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), CC_AIX(), llvm::RISCV::CC_RISCV(), CC_Sparc_Assign_Split_64(), CC_Sparc_Assign_SRet(), llvm::CC_XPLINK64_Allocate128BitVararg(), f64AssignAAPCS(), and f64AssignAPCS().
|
inlinestatic |
Definition at line 91 of file CallingConvLower.h.
References getReg().
Referenced by Analyze_CC_Sparc64_Half(), CC_AIX(), CC_MipsO32(), CC_PPC32_SPE_CustomSplitFP64(), CC_PPC32_SPE_RetF64(), llvm::RISCV::CC_RISCV(), CC_Sparc_Assign_Ret_Split_64(), CC_Sparc_Assign_Split_64(), CC_X86_32_RegCall_Assign2Regs(), CustomAssignInRegList(), f64AssignAAPCS(), f64AssignAPCS(), f64RetAssign(), and fixupVariableFloatArgs().
|
inline |
Definition at line 130 of file CallingConvLower.h.
|
inline |
Definition at line 134 of file CallingConvLower.h.
Referenced by llvm::CallLowering::IncomingValueHandler::buildExtensionHint(), canUseSiblingCall(), convertLocVTToValVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::CCState::resultsCompatible(), UnpackFromArgumentSlot(), unpackFromMemLoc(), and unpackFromRegLoc().
|
inline |
Definition at line 129 of file CallingConvLower.h.
Referenced by llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::CCState::resultsCompatible(), llvm::CallLowering::resultsCompatible(), unpack64(), unpackF64OnRV32DSoftABI(), and unpackFromMemLoc().
|
inline |
Definition at line 128 of file CallingConvLower.h.
Referenced by canUseSiblingCall(), getv64i1Argument(), llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SITargetLowering::LowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::XtensaTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), llvm::CCState::resultsCompatible(), llvm::CallLowering::resultsCompatible(), unpack64(), unpackF64OnRV32DSoftABI(), and unpackFromRegLoc().
|
inline |
Definition at line 132 of file CallingConvLower.h.
Referenced by llvm::CallLowering::IncomingValueHandler::assignValueToReg(), CC_LoongArchAssign2GRLen(), CC_RISCVAssign2XLen(), convertLocVTToValVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), getStackValueStoreTypeHack(), llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SITargetLowering::LowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::XtensaTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), MatchingStackOffset(), unpack64(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), and unpackFromRegLoc().
|
inlinestatic |
Definition at line 96 of file CallingConvLower.h.
References llvm::Offset.
Referenced by Analyze_CC_Sparc64_Full(), Analyze_CC_Sparc64_Half(), llvm::analyzeArguments(), CC_AIX(), llvm::CC_CSKY_ABIV2_SOFT_64(), CC_Lanai32_VarArg(), CC_LoongArch(), CC_LoongArchAssign2GRLen(), CC_MipsO32(), llvm::RISCV::CC_RISCV(), llvm::RISCV::CC_RISCV_FastCC(), CC_RISCVAssign2XLen(), CC_X86_Intr(), CC_Xtensa_Custom(), fixupVariableFloatArgs(), getCustomMem(), and llvm::CCState::HandleByVal().
|
inlinestatic |
Definition at line 108 of file CallingConvLower.h.
Referenced by CC_AArch64_Custom_Block(), CC_AArch64_Custom_Stack_Block(), CC_ARM_AAPCS_Custom_Aggregate(), CC_LoongArch(), llvm::RISCV::CC_RISCV(), llvm::CC_SystemZ_I128Indirect(), and CC_X86_32_MCUInReg().
|
inlinestatic |
Definition at line 84 of file CallingConvLower.h.
Referenced by Analyze_CC_Sparc64_Full(), Analyze_CC_Sparc64_Half(), AnalyzeArguments(), llvm::analyzeArguments(), llvm::analyzeReturnValues(), CC_AArch64_Custom_Block(), CC_AIX(), llvm::CC_CSKY_ABIV2_SOFT_64(), CC_LoongArch(), CC_LoongArch_GHC(), CC_LoongArchAssign2GRLen(), llvm::CC_M68k_Any_AssignToReg(), CC_MipsO32(), llvm::RISCV::CC_RISCV(), llvm::RISCV::CC_RISCV_FastCC(), llvm::RISCV::CC_RISCV_GHC(), CC_RISCVAssign2XLen(), CC_X86_32_MCUInReg(), CC_X86_32_VectorCall(), CC_X86_64_VectorCall(), CC_X86_VectorCallAssignRegister(), llvm::CC_XPLINK64_Allocate128BitVararg(), CC_Xtensa_Custom(), fixupVariableFloatArgs(), getCustomReg(), and llvm::Ret_CSKY_ABIV2_SOFT_64().
|
inline |
Definition at line 119 of file CallingConvLower.h.
Referenced by CC_LoongArchAssign2GRLen(), CC_RISCVAssign2XLen(), llvm::CallLowering::handleAssignments(), and llvm::XtensaTargetLowering::LowerFormalArguments().
|
inline |
Definition at line 120 of file CallingConvLower.h.
Referenced by CC_LoongArchAssign2GRLen(), CC_RISCVAssign2XLen(), convertLocVTToValVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::CallLowering::ValueHandler::getStackValueStoreType(), getStackValueStoreTypeHack(), getv64i1Argument(), llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::RISCVTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_64(), unpack64(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), and unpackFromMemLoc().
|
inline |
Definition at line 135 of file CallingConvLower.h.
References AExt, SExt, and ZExt.
Referenced by convertLocVTToValVT(), llvm::VETargetLowering::LowerCall(), and llvm::SparcTargetLowering::LowerCall_64().
|
inline |
Definition at line 123 of file CallingConvLower.h.
Referenced by llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::CCState::resultsCompatible(), unpack64(), and unpackF64OnRV32DSoftABI().
|
inline |
Definition at line 124 of file CallingConvLower.h.
Referenced by llvm::CCState::resultsCompatible().
|
inline |
Definition at line 122 of file CallingConvLower.h.
Referenced by canUseSiblingCall(), getv64i1Argument(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SITargetLowering::LowerReturn(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::XtensaTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), llvm::CCState::resultsCompatible(), llvm::CallLowering::resultsCompatible(), unpack64(), and unpackF64OnRV32DSoftABI().
|
inline |
Definition at line 139 of file CallingConvLower.h.
|
inline |
Definition at line 126 of file CallingConvLower.h.
Referenced by llvm::CallLowering::handleAssignments(), llvm::SystemZTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::RISCVTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), and llvm::SparcTargetLowering::LowerReturn_64().