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 33 of file CallingConvLower.h.
◆ LocInfo
Enumerator |
---|
Full |
SExt |
ZExt |
AExt |
SExtUpper |
ZExtUpper |
AExtUpper |
BCvt |
Trunc |
VExt |
FPExt |
Indirect |
Definition at line 35 of file CallingConvLower.h.
◆ convertToMem()
void llvm::CCValAssign::convertToMem ( int64_t Offset) | inline |
---|
◆ convertToReg()
void llvm::CCValAssign::convertToReg ( MCRegister Reg) | inline |
---|
◆ getCustomMem()
◆ getCustomReg()
Definition at line 91 of file CallingConvLower.h.
Referenced by Analyze_CC_Sparc64_Half(), CC_AIX(), 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 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().
◆ getLocMemOffset()
int64_t llvm::CCValAssign::getLocMemOffset ( ) const | 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().
◆ getLocReg()
Register llvm::CCValAssign::getLocReg ( ) const | 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().
◆ getLocVT()
MVT llvm::CCValAssign::getLocVT ( ) const | 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().
◆ getMem()
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::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 84 of file CallingConvLower.h.
References Reg.
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 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().
◆ isExtInLoc()
bool llvm::CCValAssign::isExtInLoc ( ) const | inline |
---|
◆ isMemLoc()
bool llvm::CCValAssign::isMemLoc ( ) const | 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().
◆ isPendingLoc()
bool llvm::CCValAssign::isPendingLoc ( ) const | inline |
---|
◆ isRegLoc()
bool llvm::CCValAssign::isRegLoc ( ) const | 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().
◆ isUpperBitsInLoc()
bool llvm::CCValAssign::isUpperBitsInLoc ( ) const | inline |
---|
◆ needsCustom()
bool llvm::CCValAssign::needsCustom ( ) const | inline |
---|
Definition at line 126 of file CallingConvLower.h.
Referenced by convertLocVTToValVT(), convertValVTToLocVT(), 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().
The documentation for this class was generated from the following file:
- include/llvm/CodeGen/CallingConvLower.h