|
LLVM
4.0.0
|
CCValAssign - Represent assignment of one arg/retval to a location. More...
#include <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 32 of file CallingConvLower.h.
| Enumerator | |
|---|---|
| Full | |
| SExt | |
| ZExt | |
| AExt | |
| SExtUpper | |
| ZExtUpper | |
| AExtUpper | |
| BCvt | |
| VExt | |
| FPExt | |
| Indirect | |
Definition at line 34 of file CallingConvLower.h.
|
inline |
Definition at line 135 of file CallingConvLower.h.
References Offset.
|
inline |
Definition at line 130 of file CallingConvLower.h.
|
inlinestatic |
Definition at line 114 of file CallingConvLower.h.
References getMem(), and llvm::MipsISD::Ret.
Referenced by allocateKernArg(), CC_Sparc_Assign_Split_64(), CC_Sparc_Assign_SRet(), llvm::f64AssignAAPCS(), and llvm::f64AssignAPCS().
|
inlinestatic |
Definition at line 91 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 150 of file CallingConvLower.h.
|
inline |
Definition at line 153 of file CallingConvLower.h.
Referenced by canUseSiblingCall(), convertLocVTToValVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), fixupVariableFloatArgs(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::SITargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::CCState::resultsCompatible(), and UnpackFromArgumentSlot().
|
inline |
Definition at line 149 of file CallingConvLower.h.
References assert(), and isMemLoc().
Referenced by llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), LowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), and llvm::CCState::resultsCompatible().
|
inline |
Definition at line 148 of file CallingConvLower.h.
References assert(), and isRegLoc().
Referenced by canUseSiblingCall(), fixupVariableFloatArgs(), getv64i1Argument(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), LowerCallResult(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::SITargetLowering::LowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), and llvm::CCState::resultsCompatible().
|
inline |
Definition at line 151 of file CallingConvLower.h.
Referenced by convertLocVTToValVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), fixupVariableFloatArgs(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::SITargetLowering::LowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), MatchingStackOffset(), and UnpackFromArgumentSlot().
|
inlinestatic |
Definition at line 100 of file CallingConvLower.h.
References Offset, and llvm::MipsISD::Ret.
Referenced by llvm::analyzeStandardArguments(), CC_Hexagon(), CC_Hexagon32(), CC_Hexagon64(), CC_Hexagon_VarArg(), CC_HexagonVector(), CC_Lanai32_VarArg(), CC_MipsO32(), CC_Sparc64_Full(), CC_Sparc64_Half(), fixupVariableFloatArgs(), getCustomMem(), llvm::CCState::HandleByVal(), RetCC_Hexagon32(), RetCC_Hexagon64(), and RetCC_HexagonVector().
|
inlinestatic |
Definition at line 125 of file CallingConvLower.h.
References getReg().
Referenced by llvm::CC_ARM_AAPCS_Custom_Aggregate(), llvm::CC_SystemZ_I128Indirect(), and llvm::CC_X86_32_MCUInReg().
|
inlinestatic |
Definition at line 77 of file CallingConvLower.h.
References llvm::MipsISD::Ret.
Referenced by AnalyzeArguments(), llvm::analyzeStandardArguments(), CC_Hexagon32(), CC_Hexagon64(), CC_HexagonVector(), CC_MipsO32(), 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(), RetCC_Hexagon32(), RetCC_Hexagon64(), and RetCC_HexagonVector().
|
inline |
Definition at line 140 of file CallingConvLower.h.
Referenced by llvm::CCState::AnalyzeArgumentsSecondPass(), fixupVariableFloatArgs(), and isSortedByValueNo().
|
inline |
Definition at line 141 of file CallingConvLower.h.
Referenced by convertLocVTToValVT(), convertValVTToLocVT(), fixupVariableFloatArgs(), getv64i1Argument(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_64(), LowerCallResult(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::SparcTargetLowering::LowerReturn_64(), and UnpackFromArgumentSlot().
|
inline |
Definition at line 154 of file CallingConvLower.h.
References AExt, SExt, and ZExt.
Referenced by convertLocVTToValVT(), llvm::SparcTargetLowering::LowerCall_64(), and llvm::SparcTargetLowering::LowerFormalArguments_64().
|
inline |
Definition at line 144 of file CallingConvLower.h.
Referenced by getLocMemOffset(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), and llvm::SparcTargetLowering::LowerFormalArguments_64().
|
inline |
Definition at line 143 of file CallingConvLower.h.
Referenced by canUseSiblingCall(), fixupVariableFloatArgs(), getLocReg(), getv64i1Argument(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::SITargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), and llvm::CCState::resultsCompatible().
|
inline |
Definition at line 158 of file CallingConvLower.h.
|
inline |
Definition at line 146 of file CallingConvLower.h.
Referenced by llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::SparcTargetLowering::LowerReturn_32(), and llvm::SparcTargetLowering::LowerReturn_64().
1.8.6