LLVM  4.0.0
Public Member Functions | Public Attributes | List of all members
OutgoingArgHandler Struct Reference
Inheritance diagram for OutgoingArgHandler:
[legend]
Collaboration diagram for OutgoingArgHandler:
[legend]

Public Member Functions

 OutgoingArgHandler (MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI, MachineInstrBuilder MIB)
 
unsigned getStackAddress (uint64_t Size, int64_t Offset, MachinePointerInfo &MPO) override
 Materialize a VReg containing the address of the specified stack-based object. More...
 
void assignValueToReg (unsigned ValVReg, unsigned PhysReg, CCValAssign &VA) override
 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...
 
void assignValueToAddress (unsigned ValVReg, unsigned Addr, uint64_t Size, MachinePointerInfo &MPO, CCValAssign &VA) override
 The specified value has been assigned to a stack location. More...
 
- Public Member Functions inherited from llvm::CallLowering::ValueHandler
unsigned extendRegister (unsigned ValReg, CCValAssign &VA)
 
 ValueHandler (MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI)
 
virtual ~ValueHandler ()
 

Public Attributes

MachineInstrBuilder MIB
 
- Public Attributes inherited from llvm::CallLowering::ValueHandler
MachineIRBuilderMIRBuilder
 
MachineRegisterInfoMRI
 

Detailed Description

Definition at line 93 of file AArch64CallLowering.cpp.

Constructor & Destructor Documentation

OutgoingArgHandler::OutgoingArgHandler ( MachineIRBuilder MIRBuilder,
MachineRegisterInfo MRI,
MachineInstrBuilder  MIB 
)
inline

Definition at line 94 of file AArch64CallLowering.cpp.

Member Function Documentation

void OutgoingArgHandler::assignValueToAddress ( unsigned  ValVReg,
unsigned  Addr,
uint64_t  Size,
MachinePointerInfo MPO,
CCValAssign VA 
)
inlineoverridevirtual

The specified value has been assigned to a stack location.

Load or store it there, with appropriate extension if necessary.

Implements llvm::CallLowering::ValueHandler.

Definition at line 122 of file AArch64CallLowering.cpp.

References llvm::MachineMemOperand::MOStore.

void OutgoingArgHandler::assignValueToReg ( unsigned  ValVReg,
unsigned  PhysReg,
CCValAssign VA 
)
inlineoverridevirtual

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.

Implements llvm::CallLowering::ValueHandler.

Definition at line 115 of file AArch64CallLowering.cpp.

References llvm::RegState::Implicit.

unsigned OutgoingArgHandler::getStackAddress ( uint64_t  Size,
int64_t  Offset,
MachinePointerInfo MPO 
)
inlineoverridevirtual

Materialize a VReg containing the address of the specified stack-based object.

This is either based on a FrameIndex or direct SP manipulation, depending on the context. MPO should be initialized to an appropriate description of the address created.

Implements llvm::CallLowering::ValueHandler.

Definition at line 98 of file AArch64CallLowering.cpp.

References llvm::MachinePointerInfo::getStack(), MRI, Offset, llvm::LLT::pointer(), and llvm::LLT::scalar().

Member Data Documentation

MachineInstrBuilder OutgoingArgHandler::MIB

Definition at line 129 of file AArch64CallLowering.cpp.


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