LLVM 19.0.0git
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 ,
  Trunc , VExt , FPExt , Indirect
}
 

Public Member Functions

void convertToReg (unsigned RegNo)
 
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, unsigned RegNo, MVT LocVT, LocInfo HTP, bool IsCustom=false)
 
static CCValAssign getCustomReg (unsigned ValNo, MVT ValVT, unsigned RegNo, 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 33 of file CallingConvLower.h.

Member Enumeration Documentation

◆ LocInfo

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

Definition at line 35 of file CallingConvLower.h.

Member Function Documentation

◆ convertToMem()

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

Definition at line 117 of file CallingConvLower.h.

References llvm::Offset.

◆ convertToReg()

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

Definition at line 115 of file CallingConvLower.h.

◆ getCustomMem()

static CCValAssign llvm::CCValAssign::getCustomMem ( unsigned  ValNo,
MVT  ValVT,
int64_t  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 130 of file CallingConvLower.h.

◆ getLocInfo()

LocInfo llvm::CCValAssign::getLocInfo ( ) const
inline

◆ getLocMemOffset()

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

◆ getLocReg()

Register llvm::CCValAssign::getLocReg ( ) const
inline

◆ 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(), fixupVariableFloatArgs(), getStackValueStoreTypeHack(), llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::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::VETargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::SITargetLowering::LowerReturn(), llvm::HexagonTargetLowering::LowerReturn(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::VETargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::SparcTargetLowering::LowerReturn_64(), MatchingStackOffset(), unpack64(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), and unpackFromRegLoc().

◆ getMem()

static CCValAssign llvm::CCValAssign::getMem ( unsigned  ValNo,
MVT  ValVT,
int64_t  Offset,
MVT  LocVT,
LocInfo  HTP,
bool  IsCustom = false 
)
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,
bool  IsCustom = false 
)
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

◆ isPendingLoc()

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

Definition at line 124 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 139 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: