LLVM  13.0.0git
Public Member Functions | List of all members
llvm::CallLowering::OutgoingValueHandler Struct Reference

#include "llvm/CodeGen/GlobalISel/CallLowering.h"

Inheritance diagram for llvm::CallLowering::OutgoingValueHandler:
Inheritance graph
Collaboration diagram for llvm::CallLowering::OutgoingValueHandler:
Collaboration graph

Public Member Functions

 OutgoingValueHandler (MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI, CCAssignFn *AssignFn)
- Public Member Functions inherited from llvm::CallLowering::ValueHandler
 ValueHandler (bool IsIncoming, MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI, CCAssignFn *AssignFn)
virtual ~ValueHandler ()=default
bool isIncomingArgumentHandler () const
 Returns true if the handler is dealing with incoming arguments, i.e. More...
virtual Register getStackAddress (uint64_t Size, int64_t Offset, MachinePointerInfo &MPO, ISD::ArgFlagsTy Flags)=0
 Materialize a VReg containing the address of the specified stack-based object. More...
virtual uint64_t getStackValueStoreSize (const CCValAssign &VA) const
 Return the in-memory size to write for the argument at VA. More...
virtual void assignValueToReg (Register ValVReg, Register PhysReg, CCValAssign &VA)=0
 The specified value has been assigned to a physical register, handle the appropriate COPY (either to or from) and mark any relevant uses/defines as needed. More...
virtual void assignValueToAddress (Register ValVReg, Register Addr, uint64_t Size, MachinePointerInfo &MPO, CCValAssign &VA)=0
 The specified value has been assigned to a stack location. More...
virtual void assignValueToAddress (const ArgInfo &Arg, unsigned ValRegIndex, Register Addr, uint64_t Size, MachinePointerInfo &MPO, CCValAssign &VA)
 An overload which takes an ArgInfo if additional information about the arg is needed. More...
virtual unsigned assignCustomValue (const ArgInfo &Arg, ArrayRef< CCValAssign > VAs)
 Handle custom values, which may be passed into one or more of VAs. More...
void copyArgumentMemory (const ArgInfo &Arg, Register DstPtr, Register SrcPtr, const MachinePointerInfo &DstPtrInfo, Align DstAlign, const MachinePointerInfo &SrcPtrInfo, Align SrcAlign, uint64_t MemSize, CCValAssign &VA) const
 Do a memory copy of MemSize bytes from SrcPtr to DstPtr. More...
Register extendRegister (Register ValReg, CCValAssign &VA, unsigned MaxSizeBits=0)
 Extend a register to the location type given in VA, capped at extending to at most MaxSize bits. More...
virtual bool assignArg (unsigned ValNo, EVT OrigVT, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, const ArgInfo &Info, ISD::ArgFlagsTy Flags, CCState &State)
 Wrap call to (typically tablegenerated CCAssignFn). More...

Additional Inherited Members

- Public Attributes inherited from llvm::CallLowering::ValueHandler

Detailed Description

Definition at line 255 of file CallLowering.h.

Constructor & Destructor Documentation

◆ OutgoingValueHandler()

llvm::CallLowering::OutgoingValueHandler::OutgoingValueHandler ( MachineIRBuilder MIRBuilder,
MachineRegisterInfo MRI,
CCAssignFn AssignFn 

Definition at line 256 of file CallLowering.h.

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