LLVM: llvm::CallLowering::IncomingValueHandler Struct Reference (original) (raw)
Base class for ValueHandlers used for arguments coming into the current function, or for return values received from a call. More...
#include "[llvm/CodeGen/GlobalISel/CallLowering.h](CallLowering%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| IncomingValueHandler (MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI) | |
| Register | buildExtensionHint (const CCValAssign &VA, Register SrcReg, LLT NarrowTy) |
| Insert G_ASSERT_ZEXT/G_ASSERT_SEXT or other hint instruction based on VA, returning the new register if a hint was inserted. | |
| void | assignValueToReg (Register ValVReg, Register PhysReg, const CCValAssign &VA) override |
| Provides a default implementation for argument handling. | |
| Public Member Functions inherited from llvm::CallLowering::ValueHandler | |
| ValueHandler (bool IsIncoming, MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI) | |
| virtual | ~ValueHandler ()=default |
| bool | isIncomingArgumentHandler () const |
| Returns true if the handler is dealing with incoming arguments, i.e. | |
| virtual Register | getStackAddress (uint64_t MemSize, int64_t Offset, MachinePointerInfo &MPO, ISD::ArgFlagsTy Flags)=0 |
| Materialize a VReg containing the address of the specified stack-based object. | |
| virtual LLT | getStackValueStoreType (const DataLayout &DL, const CCValAssign &VA, ISD::ArgFlagsTy Flags) const |
| Return the in-memory size to write for the argument at VA. | |
| virtual void | assignValueToAddress (Register ValVReg, Register Addr, LLT MemTy, const MachinePointerInfo &MPO, const CCValAssign &VA)=0 |
| The specified value has been assigned to a stack location. | |
| virtual void | assignValueToAddress (const ArgInfo &Arg, unsigned ValRegIndex, Register Addr, LLT MemTy, const MachinePointerInfo &MPO, const CCValAssign &VA) |
| An overload which takes an ArgInfo if additional information about the arg is needed. | |
| virtual unsigned | assignCustomValue (ArgInfo &Arg, ArrayRef< CCValAssign > VAs, std::function< void()> *Thunk=nullptr) |
| Handle custom values, which may be passed into one or more of VAs. | |
| 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. | |
| Register | extendRegister (Register ValReg, const CCValAssign &VA, unsigned MaxSizeBits=0) |
| Extend a register to the location type given in VA, capped at extending to at most MaxSize bits. |
Base class for ValueHandlers used for arguments coming into the current function, or for return values received from a call.
Definition at line 331 of file CallLowering.h.
◆ assignValueToReg()
◆ buildExtensionHint()
The documentation for this struct was generated from the following files:
- include/llvm/CodeGen/GlobalISel/CallLowering.h
- lib/CodeGen/GlobalISel/CallLowering.cpp