LLVM  8.0.1
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::CCValAssign Class Reference

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)
 

Detailed Description

CCValAssign - Represent assignment of one arg/retval to a location.

Definition at line 33 of file CallingConvLower.h.

Member Enumeration Documentation

◆ LocInfo

Enumerator
Full 
SExt 
ZExt 
AExt 
SExtUpper 
ZExtUpper 
AExtUpper 
BCvt 
VExt 
FPExt 
Indirect 

Definition at line 35 of file CallingConvLower.h.

Member Function Documentation

◆ convertToMem()

void llvm::CCValAssign::convertToMem ( unsigned  Offset)
inline

Definition at line 136 of file CallingConvLower.h.

◆ convertToReg()

void llvm::CCValAssign::convertToReg ( unsigned  RegNo)
inline

Definition at line 131 of file CallingConvLower.h.

Referenced by CC_MipsO32_FP64(), lowerRegToMasks(), and Passv64i1ArgInRegs().

◆ getCustomMem()

static CCValAssign llvm::CCValAssign::getCustomMem ( unsigned  ValNo,
MVT  ValVT,
unsigned  Offset,
MVT  LocVT,
LocInfo  HTP 
)
inlinestatic

◆ getCustomReg()

static CCValAssign llvm::CCValAssign::getCustomReg ( unsigned  ValNo,
MVT  ValVT,
unsigned  RegNo,
MVT  LocVT,
LocInfo  HTP 
)
inlinestatic

◆ getExtraInfo()

unsigned llvm::CCValAssign::getExtraInfo ( ) const
inline

Definition at line 151 of file CallingConvLower.h.

◆ getLocInfo()

LocInfo llvm::CCValAssign::getLocInfo ( ) const
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().

◆ getLocMemOffset()

unsigned llvm::CCValAssign::getLocMemOffset ( ) const
inline

◆ getLocReg()

unsigned llvm::CCValAssign::getLocReg ( ) const
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().

◆ getLocVT()

MVT llvm::CCValAssign::getLocVT ( ) const
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().

◆ getMem()

static CCValAssign llvm::CCValAssign::getMem ( unsigned  ValNo,
MVT  ValVT,
unsigned  Offset,
MVT  LocVT,
LocInfo  HTP 
)
inlinestatic

◆ getPending()

static CCValAssign llvm::CCValAssign::getPending ( unsigned  ValNo,
MVT  ValVT,
MVT  LocVT,
LocInfo  HTP,
unsigned  ExtraInfo = 0 
)
inlinestatic

◆ getReg()

static CCValAssign llvm::CCValAssign::getReg ( unsigned  ValNo,
MVT  ValVT,
unsigned  RegNo,
MVT  LocVT,
LocInfo  HTP 
)
inlinestatic

◆ getValNo()

unsigned llvm::CCValAssign::getValNo ( ) const
inline

◆ getValVT()

MVT llvm::CCValAssign::getValVT ( ) const
inline

◆ isExtInLoc()

bool llvm::CCValAssign::isExtInLoc ( ) const
inline

◆ isMemLoc()

bool llvm::CCValAssign::isMemLoc ( ) const
inline

◆ isRegLoc()

bool llvm::CCValAssign::isRegLoc ( ) const
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().

◆ isUpperBitsInLoc()

bool llvm::CCValAssign::isUpperBitsInLoc ( ) const
inline

Definition at line 159 of file CallingConvLower.h.

References AExtUpper, SExtUpper, and ZExtUpper.

◆ needsCustom()

bool llvm::CCValAssign::needsCustom ( ) const
inline

The documentation for this class was generated from the following file: