LLVM: llvm::CCValAssign Class Reference (original) (raw)
CCValAssign - Represent assignment of one arg/retval to a location. More...
#include "[llvm/CodeGen/CallingConvLower.h](CallingConvLower%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| enum | LocInfo { Full, SExt, ZExt, AExt, SExtUpper, ZExtUpper, AExtUpper, BCvt, Trunc, VExt, FPExt, Indirect } |
| Public Member Functions | |
|---|---|
| void | convertToReg (MCRegister Reg) |
| 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, MCRegister Reg, MVT LocVT, LocInfo HTP, bool IsCustom=false) |
| static CCValAssign | getCustomReg (unsigned ValNo, MVT ValVT, MCRegister Reg, 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 34 of file CallingConvLower.h.
◆ LocInfo
| Enumerator |
|---|
| Full |
| SExt |
| ZExt |
| AExt |
| SExtUpper |
| ZExtUpper |
| AExtUpper |
| BCvt |
| Trunc |
| VExt |
| FPExt |
| Indirect |
Definition at line 36 of file CallingConvLower.h.
◆ convertToMem()
| void llvm::CCValAssign::convertToMem ( int64_t Offset) | inline |
|---|
◆ convertToReg()
| void llvm::CCValAssign::convertToReg ( MCRegister Reg) | inline |
|---|
◆ getCustomMem()
Definition at line 104 of file CallingConvLower.h.
References getMem(), and llvm::Offset.
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), CC_AIX(), CC_ARM_AAPCS_Common_Custom_f16_Stack(), CC_LoongArch(), llvm::CC_RISCV(), CC_Sparc_Assign_Split_64(), CC_Sparc_Assign_SRet(), llvm::CC_XPLINK64_Allocate128BitVararg(), f64AssignAAPCS(), and f64AssignAPCS().
◆ getCustomReg()
Definition at line 92 of file CallingConvLower.h.
Referenced by Analyze_CC_Sparc64_Half(), CC_AIX(), CC_LoongArch(), CC_MipsO32(), CC_PPC32_SPE_CustomSplitFP64(), CC_PPC32_SPE_RetF64(), llvm::CC_RISCV(), llvm::CC_RISCV_FastCC(), CC_Sparc_Assign_Ret_Split_64(), CC_Sparc_Assign_Split_64(), CC_X86_32_RegCall_Assign2Regs(), CustomAssignInRegList(), f64AssignAAPCS(), f64AssignAPCS(), f64RetAssign(), and fixupVariableFloatArgs().
◆ getExtraInfo()
| unsigned llvm::CCValAssign::getExtraInfo ( ) const | inline |
|---|
◆ getLocInfo()
| LocInfo llvm::CCValAssign::getLocInfo ( ) const | inline |
|---|
Definition at line 135 of file CallingConvLower.h.
Referenced by llvm::CallLowering::IncomingValueHandler::buildExtensionHint(), canUseSiblingCall(), convertLocVTToValVT(), convertLocVTToValVT(), convertLocVTToValVT(), convertLocVTToValVT(), convertValVTToLocVT(), convertValVTToLocVT(), convertValVTToLocVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::HexagonTargetLowering::LowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::CCState::resultsCompatible(), UnpackFromArgumentSlot(), unpackFromMemLoc(), unpackFromMemLoc(), unpackFromMemLoc(), and unpackFromRegLoc().
◆ getLocMemOffset()
| int64_t llvm::CCValAssign::getLocMemOffset ( ) const | inline |
|---|
Definition at line 130 of file CallingConvLower.h.
Referenced by llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::CallLowering::resultsCompatible(), llvm::CCState::resultsCompatible(), unpack64(), unpackF64OnLA32DSoftABI(), unpackF64OnRV32DSoftABI(), unpackFromMemLoc(), unpackFromMemLoc(), and unpackFromMemLoc().
◆ getLocReg()
| Register llvm::CCValAssign::getLocReg ( ) const | inline |
|---|
Definition at line 129 of file CallingConvLower.h.
Referenced by canUseSiblingCall(), getv64i1Argument(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), lowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::HexagonTargetLowering::LowerReturn(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::XtensaTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), llvm::CallLowering::resultsCompatible(), llvm::CCState::resultsCompatible(), unpack64(), unpackF64OnLA32DSoftABI(), unpackF64OnRV32DSoftABI(), unpackFromRegLoc(), unpackFromRegLoc(), and unpackFromRegLoc().
◆ getLocVT()
| MVT llvm::CCValAssign::getLocVT ( ) const | inline |
|---|
Definition at line 133 of file CallingConvLower.h.
Referenced by llvm::CallLowering::IncomingValueHandler::assignValueToReg(), CC_LoongArchAssign2GRLen(), CC_RISCVAssign2XLen(), convertLocVTToValVT(), convertLocVTToValVT(), convertLocVTToValVT(), convertValVTToLocVT(), convertValVTToLocVT(), convertValVTToLocVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), getStackValueStoreTypeHack(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::HexagonTargetLowering::LowerReturn(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::XtensaTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), MatchingStackOffset(), MatchingStackOffset(), unpack64(), unpackF64OnLA32DSoftABI(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), unpackFromMemLoc(), unpackFromMemLoc(), unpackFromRegLoc(), unpackFromRegLoc(), and unpackFromRegLoc().
◆ getMem()
Definition at line 97 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::CC_RISCV(), llvm::CC_RISCV_FastCC(), CC_RISCVAssign2XLen(), CC_X86_Intr(), CC_Xtensa_Custom(), fixupVariableFloatArgs(), getCustomMem(), and llvm::CCState::HandleByVal().
◆ getPending()
◆ getReg()
Definition at line 85 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::CC_RISCV(), llvm::CC_RISCV_FastCC(), llvm::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().
◆ getValNo()
| unsigned llvm::CCValAssign::getValNo ( ) const | inline |
|---|
◆ getValVT()
| MVT llvm::CCValAssign::getValVT ( ) const | inline |
|---|
Definition at line 121 of file CallingConvLower.h.
Referenced by CC_LoongArchAssign2GRLen(), CC_RISCVAssign2XLen(), convertLocVTToValVT(), convertLocVTToValVT(), convertLocVTToValVT(), convertLocVTToValVT(), convertValVTToLocVT(), convertValVTToLocVT(), convertValVTToLocVT(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::CallLowering::ValueHandler::getStackValueStoreType(), getStackValueStoreTypeHack(), getv64i1Argument(), llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), lowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_64(), unpack64(), unpackF64OnLA32DSoftABI(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), unpackFromMemLoc(), and unpackFromMemLoc().
◆ isExtInLoc()
| bool llvm::CCValAssign::isExtInLoc ( ) const | inline |
|---|
◆ isMemLoc()
| bool llvm::CCValAssign::isMemLoc ( ) const | inline |
|---|
Definition at line 124 of file CallingConvLower.h.
Referenced by llvm::CallLowering::handleAssignments(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), lowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::CCState::resultsCompatible(), unpack64(), unpackF64OnLA32DSoftABI(), and unpackF64OnRV32DSoftABI().
◆ isPendingLoc()
| bool llvm::CCValAssign::isPendingLoc ( ) const | inline |
|---|
◆ isRegLoc()
| bool llvm::CCValAssign::isRegLoc ( ) const | inline |
|---|
Definition at line 123 of file CallingConvLower.h.
Referenced by canUseSiblingCall(), getv64i1Argument(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::XtensaTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SITargetLowering::LowerCallResult(), lowerCallResult(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::XtensaTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), llvm::TargetLowering::parametersInCSRMatch(), Passv64i1ArgInRegs(), llvm::CallLowering::resultsCompatible(), llvm::CCState::resultsCompatible(), unpack64(), unpackF64OnLA32DSoftABI(), and unpackF64OnRV32DSoftABI().
◆ isUpperBitsInLoc()
| bool llvm::CCValAssign::isUpperBitsInLoc ( ) const | inline |
|---|
◆ needsCustom()
| bool llvm::CCValAssign::needsCustom ( ) const | inline |
|---|
Definition at line 127 of file CallingConvLower.h.
Referenced by convertLocVTToValVT(), convertValVTToLocVT(), llvm::CallLowering::handleAssignments(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), and llvm::SparcTargetLowering::LowerReturn_64().
The documentation for this class was generated from the following file:
- include/llvm/CodeGen/CallingConvLower.h