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.

References getReg(), and Reg.

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: