LLVM
10.0.0svn
|
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 (unsigned Offset) |
unsigned | getValNo () const |
MVT | getValVT () const |
bool | isRegLoc () const |
bool | isMemLoc () const |
bool | needsCustom () const |
Register | getLocReg () const |
unsigned | 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) |
static CCValAssign | getCustomReg (unsigned ValNo, MVT ValVT, unsigned RegNo, MVT LocVT, LocInfo HTP) |
static CCValAssign | getMem (unsigned ValNo, MVT ValVT, unsigned Offset, MVT LocVT, LocInfo HTP) |
static CCValAssign | getCustomMem (unsigned ValNo, MVT ValVT, unsigned 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 137 of file CallingConvLower.h.
|
inline |
Definition at line 132 of file CallingConvLower.h.
Referenced by lowerRegToMasks(), and Passv64i1ArgInRegs().
|
inlinestatic |
Definition at line 116 of file CallingConvLower.h.
References getMem(), and llvm::MipsISD::Ret.
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), CC_Sparc_Assign_Split_64(), CC_Sparc_Assign_SRet(), f64AssignAAPCS(), and f64AssignAPCS().
|
inlinestatic |
Definition at line 93 of file CallingConvLower.h.
References getReg(), and llvm::MipsISD::Ret.
Referenced by CC_PPC32_SPE_CustomSplitFP64(), CC_PPC32_SPE_RetF64(), CC_Sparc64_Half(), CC_Sparc_Assign_Ret_Split_64(), CC_Sparc_Assign_Split_64(), CC_X86_32_RegCall_Assign2Regs(), f64AssignAAPCS(), f64AssignAPCS(), f64RetAssign(), and fixupVariableFloatArgs().
|
inline |
Definition at line 152 of file CallingConvLower.h.
|
inline |
Definition at line 155 of file CallingConvLower.h.
Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), llvm::analyzeArguments(), AnalyzeReturnValues(), canUseSiblingCall(), CC_Lanai32_VarArg(), CC_RISCV_FastCC(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), convertLocVTToValVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), fixupVariableFloatArgs(), getComparePred(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::MipsCallLowering::MipsHandler::handle(), llvm::SITargetLowering::isTypeDesirableForOp(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerInterruptReturn(), llvm::BPFTargetLowering::LowerOperation(), llvm::X86CallLowering::lowerReturn(), llvm::ARMCallLowering::lowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_64(), LowerVASTART(), MatchingStackOffset(), mayTailCallThisCC(), Passv64i1ArgInRegs(), PrepareCall(), llvm::CCState::resultsCompatible(), shouldGuaranteeTCO(), UnpackFromArgumentSlot(), unpackFromMemLoc(), and unpackFromRegLoc().
|
inline |
Definition at line 151 of file CallingConvLower.h.
References assert(), and isMemLoc().
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_RISCV_FastCC(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), EnsureStackAlignment(), getComparePred(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::MipsCallLowering::MipsHandler::handle(), isSortedByValueNo(), llvm::SITargetLowering::isTypeDesirableForOp(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), LowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerVASTART(), MatchingStackOffset(), mayTailCallThisCC(), PrepareCall(), llvm::CallLowering::resultsCompatible(), llvm::CCState::resultsCompatible(), setLocInfo(), shouldGuaranteeTCO(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), and unpackFromMemLoc().
|
inline |
Definition at line 150 of file CallingConvLower.h.
References assert(), and isRegLoc().
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), canUseSiblingCall(), CC_Lanai32_VarArg(), CC_RISCV_FastCC(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), EnsureStackAlignment(), fixupVariableFloatArgs(), getComparePred(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), getv64i1Argument(), llvm::MipsCallLowering::MipsHandler::handle(), isSupportedType(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), LowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerInterruptReturn(), llvm::BPFTargetLowering::LowerOperation(), lowerRegToMasks(), llvm::ARMCallLowering::lowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), LowerVASTART(), MatchingStackOffset(), mayTailCallThisCC(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), PrepareCall(), llvm::CallLowering::resultsCompatible(), llvm::CCState::resultsCompatible(), setLocInfo(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), and unpackFromRegLoc().
|
inline |
Definition at line 153 of file CallingConvLower.h.
Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_RISCV_FastCC(), CC_RISCVAssign2XLen(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), convertLocVTToValVT(), convertValVTToLocVT(), EnsureStackAlignment(), llvm::CallLowering::ValueHandler::extendRegister(), fixupVariableFloatArgs(), getComparePred(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::MipsCallLowering::MipsHandler::handle(), isSupportedType(), llvm::SITargetLowering::isTypeDesirableForOp(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), LowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerInterruptReturn(), llvm::BPFTargetLowering::LowerOperation(), lowerRegToMasks(), llvm::X86CallLowering::lowerReturn(), llvm::ARMCallLowering::lowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), LowerVASTART(), MatchingStackOffset(), mayTailCallThisCC(), Passv64i1ArgInRegs(), PrepareCall(), setLocInfo(), shouldGuaranteeTCO(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), unpackFromRegLoc(), and llvm::X86CallLowering::X86CallLowering().
|
inlinestatic |
Definition at line 102 of file CallingConvLower.h.
References llvm::MipsISD::Ret.
Referenced by llvm::analyzeStandardArguments(), callingConvSupported(), CC_Lanai32_VarArg(), CC_MipsO32(), CC_RISCV(), CC_RISCV_FastCC(), CC_RISCVAssign2XLen(), CC_Sparc64_Full(), CC_Sparc64_Half(), CC_X86_Intr(), fixupVariableFloatArgs(), getCustomMem(), llvm::CCState::HandleByVal(), and setLocInfo().
|
inlinestatic |
Definition at line 127 of file CallingConvLower.h.
References getReg().
Referenced by CC_AArch64_Custom_Block(), CC_AArch64_Custom_Stack_Block(), CC_ARM_AAPCS_Custom_Aggregate(), CC_RISCV(), llvm::CC_SystemZ_I128Indirect(), and CC_X86_32_MCUInReg().
|
inlinestatic |
Definition at line 79 of file CallingConvLower.h.
References llvm::MipsISD::Ret.
Referenced by AnalyzeArguments(), llvm::analyzeStandardArguments(), CC_AArch64_Custom_Block(), CC_MipsO32(), CC_RISCV(), CC_RISCV_FastCC(), CC_RISCVAssign2XLen(), CC_Sparc64_Full(), CC_Sparc64_Half(), CC_X86_32_MCUInReg(), CC_X86_32_VectorCall(), CC_X86_64_VectorCall(), CC_X86_VectorCallAssignRegister(), fixupVariableFloatArgs(), getCustomReg(), getPending(), and setLocInfo().
|
inline |
Definition at line 142 of file CallingConvLower.h.
Referenced by llvm::CCState::AnalyzeArgumentsSecondPass(), CC_RISCVAssign2XLen(), computeBytesPoppedByCalleeForSRet(), fixupVariableFloatArgs(), getComparePred(), isSortedByValueNo(), LowerVASTART(), PrepareCall(), and setLocInfo().
|
inline |
Definition at line 143 of file CallingConvLower.h.
Referenced by AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_RISCV_FastCC(), CC_RISCVAssign2XLen(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), convertLocVTToValVT(), convertValVTToLocVT(), EnsureStackAlignment(), fixupVariableFloatArgs(), getComparePred(), getMOVL(), getv64i1Argument(), llvm::MipsCallLowering::MipsHandler::handle(), isSupportedType(), llvm::SITargetLowering::isTypeDesirableForOp(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), lowerRegToMasks(), llvm::X86CallLowering::lowerReturn(), llvm::ARMCallLowering::lowerReturn(), llvm::SparcTargetLowering::LowerReturn_64(), LowerVASTART(), mayTailCallThisCC(), Passv64i1ArgInRegs(), PrepareCall(), setLocInfo(), shouldGuaranteeTCO(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), and llvm::X86CallLowering::X86CallLowering().
|
inline |
Definition at line 156 of file CallingConvLower.h.
References AExt, SExt, and ZExt.
Referenced by convertLocVTToValVT(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SparcTargetLowering::LowerFormalArguments_64(), lowerRegToMasks(), and shouldGuaranteeTCO().
|
inline |
Definition at line 146 of file CallingConvLower.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_RISCV_FastCC(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), EnsureStackAlignment(), getComparePred(), getLocMemOffset(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerVASTART(), mayTailCallThisCC(), llvm::MipsCallLowering::MipsCallLowering(), PrepareCall(), setLocInfo(), unpackF64OnRV32DSoftABI(), and UnpackFromArgumentSlot().
|
inline |
Definition at line 145 of file CallingConvLower.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), canUseSiblingCall(), CC_Lanai32_VarArg(), CC_RISCV_FastCC(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), EnsureStackAlignment(), fixupVariableFloatArgs(), getComparePred(), getLocReg(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), getv64i1Argument(), isSupportedType(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::SITargetLowering::LowerCallResult(), LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerInterruptReturn(), llvm::BPFTargetLowering::LowerOperation(), llvm::ARMCallLowering::lowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), LowerVASTART(), MatchingStackOffset(), mayTailCallThisCC(), llvm::MipsCallLowering::MipsCallLowering(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), PrepareCall(), llvm::CallLowering::resultsCompatible(), llvm::CCState::resultsCompatible(), unpackF64OnRV32DSoftABI(), and UnpackFromArgumentSlot().
|
inline |
Definition at line 160 of file CallingConvLower.h.
|
inline |
Definition at line 148 of file CallingConvLower.h.
Referenced by llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getComparePred(), getMOVL(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerInterruptReturn(), lowerRegToMasks(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), LowerVASTART(), MatchingStackOffset(), and Passv64i1ArgInRegs().