LLVM 22.0.0git
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
llvm::ISD::InputArg Struct Reference

InputArg - This struct carries flags and type information about a single incoming (formal) argument or incoming (from the perspective of the caller) return value virtual register. More...

#include "llvm/CodeGen/TargetCallingConv.h"

Public Member Functions

 InputArg (ArgFlagsTy Flags, MVT VT, EVT ArgVT, Type *OrigTy, bool Used, unsigned OrigArgIndex, unsigned PartOffset)
 
bool isOrigArg () const
 
unsigned getOrigArgIndex () const
 

Public Attributes

ArgFlagsTy Flags
 
MVT VT = MVT::Other
 Legalized type of this argument part.
 
EVT ArgVT
 Usually the non-legalized type of the argument, which is the EVT corresponding to the OrigTy IR type.
 
TypeOrigTy
 Original IR type of the argument.
 
bool Used
 
unsigned OrigArgIndex
 Index original Function's argument.
 
unsigned PartOffset
 Offset in bytes of current input value relative to the beginning of original argument.
 

Static Public Attributes

static const unsigned NoArgIndex = UINT_MAX
 Sentinel value for implicit machine-level input arguments.
 

Detailed Description

InputArg - This struct carries flags and type information about a single incoming (formal) argument or incoming (from the perspective of the caller) return value virtual register.

Definition at line 204 of file TargetCallingConv.h.

Constructor & Destructor Documentation

◆ InputArg()

llvm::ISD::InputArg::InputArg ( ArgFlagsTy  Flags,
MVT  VT,
EVT  ArgVT,
Type OrigTy,
bool  Used,
unsigned  OrigArgIndex,
unsigned  PartOffset 
)
inline

Definition at line 227 of file TargetCallingConv.h.

Member Function Documentation

◆ getOrigArgIndex()

unsigned llvm::ISD::InputArg::getOrigArgIndex ( ) const
inline

◆ isOrigArg()

bool llvm::ISD::InputArg::isOrigArg ( ) const
inline

Definition at line 232 of file TargetCallingConv.h.

References NoArgIndex, and OrigArgIndex.

Referenced by llvm::SITargetLowering::LowerFormalArguments().

Member Data Documentation

◆ ArgVT

EVT llvm::ISD::InputArg::ArgVT

Usually the non-legalized type of the argument, which is the EVT corresponding to the OrigTy IR type.

However, for post-legalization libcalls, this will be a legalized type.

Definition at line 211 of file TargetCallingConv.h.

Referenced by handleCMSEValue().

◆ Flags

ArgFlagsTy llvm::ISD::InputArg::Flags

◆ NoArgIndex

const unsigned llvm::ISD::InputArg::NoArgIndex = UINT_MAX
static

Sentinel value for implicit machine-level input arguments.

Definition at line 220 of file TargetCallingConv.h.

Referenced by getOrigArgIndex(), isOrigArg(), llvm::FastISel::lowerCallTo(), and llvm::TargetLowering::LowerCallTo().

◆ OrigArgIndex

unsigned llvm::ISD::InputArg::OrigArgIndex

Index original Function's argument.

Definition at line 218 of file TargetCallingConv.h.

Referenced by getOrigArgIndex(), and isOrigArg().

◆ OrigTy

Type* llvm::ISD::InputArg::OrigTy

Original IR type of the argument.

For aggregates, this is the type of an individual aggregate element, not the whole aggregate.

Definition at line 214 of file TargetCallingConv.h.

◆ PartOffset

unsigned llvm::ISD::InputArg::PartOffset

Offset in bytes of current input value relative to the beginning of original argument.

E.g. if argument was splitted into four 32 bit registers, we got 4 InputArgs with PartOffsets 0, 4, 8 and 12.

Definition at line 225 of file TargetCallingConv.h.

◆ Used

bool llvm::ISD::InputArg::Used

Definition at line 215 of file TargetCallingConv.h.

Referenced by processPSInputArgs().

◆ VT

MVT llvm::ISD::InputArg::VT = MVT::Other

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