LLVM
8.0.1
|
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, 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 |
unsigned | 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 | |
VExt | |
FPExt | |
Indirect |
Definition at line 35 of file CallingConvLower.h.
|
inline |
Definition at line 136 of file CallingConvLower.h.
|
inline |
Definition at line 131 of file CallingConvLower.h.
Referenced by CC_MipsO32_FP64(), lowerRegToMasks(), and Passv64i1ArgInRegs().
|
inlinestatic |
Definition at line 115 of file CallingConvLower.h.
References getMem(), and llvm::MipsISD::Ret.
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), CC_Sparc_Assign_Split_64(), CC_Sparc_Assign_SRet(), llvm::f64AssignAAPCS(), and llvm::f64AssignAPCS().
|
inlinestatic |
Definition at line 92 of file CallingConvLower.h.
References getReg(), and llvm::MipsISD::Ret.
Referenced by CC_Sparc64_Half(), CC_Sparc_Assign_Ret_Split_64(), CC_Sparc_Assign_Split_64(), llvm::CC_X86_32_RegCall_Assign2Regs(), llvm::f64AssignAAPCS(), llvm::f64AssignAPCS(), llvm::f64RetAssign(), and fixupVariableFloatArgs().
|
inline |
Definition at line 151 of file CallingConvLower.h.
|
inline |
Definition at line 154 of file CallingConvLower.h.
Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), llvm::analyzeArguments(), AnalyzeReturnValues(), canUseSiblingCall(), CC_Lanai32_VarArg(), CC_MipsO32_FP64(), 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(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), and unpackFromRegLoc().
|
inline |
Definition at line 150 of file CallingConvLower.h.
References assert(), and isMemLoc().
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_MipsO32_FP64(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeBytesPoppedByCalleeForSRet(), EnsureStackAlignment(), getComparePred(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::MipsTargetLowering::getTypeForExtReturn(), 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::CCState::resultsCompatible(), setLocInfo(), shouldGuaranteeTCO(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), and unpackFromMemLoc().
|
inline |
Definition at line 149 of file CallingConvLower.h.
References assert(), and isRegLoc().
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), canUseSiblingCall(), CC_Lanai32_VarArg(), CC_MipsO32_FP64(), 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::AMDGPUCallLowering::lowerFormalArguments(), 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::CCState::resultsCompatible(), setLocInfo(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), and unpackFromRegLoc().
|
inline |
Definition at line 152 of file CallingConvLower.h.
Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_MipsO32_FP64(), 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 101 of file CallingConvLower.h.
References llvm::MipsISD::Ret.
Referenced by llvm::analyzeStandardArguments(), CallingConvSupported(), CC_Lanai32_VarArg(), CC_MipsO32(), CC_RISCV(), CC_RISCVAssign2XLen(), CC_Sparc64_Full(), CC_Sparc64_Half(), fixupVariableFloatArgs(), getCustomMem(), llvm::CCState::HandleByVal(), and setLocInfo().
|
inlinestatic |
Definition at line 126 of file CallingConvLower.h.
References getReg().
Referenced by llvm::CC_ARM_AAPCS_Custom_Aggregate(), CC_RISCV(), llvm::CC_SystemZ_I128Indirect(), and llvm::CC_X86_32_MCUInReg().
|
inlinestatic |
Definition at line 78 of file CallingConvLower.h.
References llvm::MipsISD::Ret.
Referenced by allocateCCRegs(), AnalyzeArguments(), llvm::analyzeStandardArguments(), CC_MipsO32(), CC_RISCV(), CC_RISCVAssign2XLen(), CC_Sparc64_Full(), CC_Sparc64_Half(), llvm::CC_X86_32_MCUInReg(), llvm::CC_X86_32_VectorCall(), llvm::CC_X86_64_VectorCall(), llvm::CC_X86_VectorCallAssignRegister(), fixupVariableFloatArgs(), getCustomReg(), getPending(), and setLocInfo().
|
inline |
Definition at line 141 of file CallingConvLower.h.
Referenced by llvm::CCState::AnalyzeArgumentsSecondPass(), CC_MipsO32_FP64(), CC_RISCVAssign2XLen(), computeBytesPoppedByCalleeForSRet(), fixupVariableFloatArgs(), getComparePred(), isSortedByValueNo(), isSupportedType(), llvm::ARMCallLowering::lowerReturn(), LowerVASTART(), PrepareCall(), and setLocInfo().
|
inline |
Definition at line 142 of file CallingConvLower.h.
Referenced by AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_MipsO32_FP64(), 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 155 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 145 of file CallingConvLower.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), CC_MipsO32_FP64(), 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 144 of file CallingConvLower.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), canUseSiblingCall(), CC_Lanai32_VarArg(), CC_MipsO32_FP64(), 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::CCState::resultsCompatible(), unpackF64OnRV32DSoftABI(), and UnpackFromArgumentSlot().
|
inline |
Definition at line 159 of file CallingConvLower.h.
|
inline |
Definition at line 147 of file CallingConvLower.h.
Referenced by CC_MipsO32_FP64(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getComparePred(), getMOVL(), isSupportedType(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerInterruptReturn(), lowerRegToMasks(), llvm::ARMCallLowering::lowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), LowerVASTART(), MatchingStackOffset(), and Passv64i1ArgInRegs().