LLVM 22.0.0git
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 ,
  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)

Detailed Description

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

Definition at line 34 of file CallingConvLower.h.

Member Enumeration Documentation

◆ LocInfo

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

Definition at line 36 of file CallingConvLower.h.

Member Function Documentation

◆ convertToMem()

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

Definition at line 118 of file CallingConvLower.h.

References llvm::Offset.

◆ convertToReg()

void llvm::CCValAssign::convertToReg ( MCRegister Reg)
inline

Definition at line 116 of file CallingConvLower.h.

References Reg, and Register.

◆ getCustomMem()

◆ getCustomReg()

◆ getExtraInfo()

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

Definition at line 131 of file CallingConvLower.h.

◆ getLocInfo()

◆ getLocMemOffset()

◆ 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()

◆ getPending()

◆ getReg()

◆ getValNo()

◆ getValVT()

◆ isExtInLoc()

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

◆ isMemLoc()

◆ isPendingLoc()

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

Definition at line 125 of file CallingConvLower.h.

Referenced by llvm::CCState::resultsCompatible().

◆ isRegLoc()

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

◆ isUpperBitsInLoc()

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

Definition at line 140 of file CallingConvLower.h.

References AExtUpper, SExtUpper, and ZExtUpper.

◆ needsCustom()


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