#include "PPCCallLowering.h"
#include "PPCCallingConv.h"
#include "PPCISelLowering.h"
#include "PPCSubtarget.h"
#include "PPCTargetMachine.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/GlobalISel/CallLowering.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/TargetCallingConv.h"
#include "llvm/Support/Debug.h"
#define DEBUG_TYPE …
usingnamespacellvm;
namespace {
struct OutgoingArgHandler : public CallLowering::OutgoingValueHandler { … };
}
void OutgoingArgHandler::assignValueToReg(Register ValVReg, Register PhysReg,
const CCValAssign &VA) { … }
void OutgoingArgHandler::assignValueToAddress(Register ValVReg, Register Addr,
LLT MemTy,
const MachinePointerInfo &MPO,
const CCValAssign &VA) { … }
Register OutgoingArgHandler::getStackAddress(uint64_t Size, int64_t Offset,
MachinePointerInfo &MPO,
ISD::ArgFlagsTy Flags) { … }
PPCCallLowering::PPCCallLowering(const PPCTargetLowering &TLI)
: … { … }
bool PPCCallLowering::lowerReturn(MachineIRBuilder &MIRBuilder,
const Value *Val, ArrayRef<Register> VRegs,
FunctionLoweringInfo &FLI,
Register SwiftErrorVReg) const { … }
bool PPCCallLowering::lowerCall(MachineIRBuilder &MIRBuilder,
CallLoweringInfo &Info) const { … }
bool PPCCallLowering::lowerFormalArguments(MachineIRBuilder &MIRBuilder,
const Function &F,
ArrayRef<ArrayRef<Register>> VRegs,
FunctionLoweringInfo &FLI) const { … }
void PPCIncomingValueHandler::assignValueToReg(Register ValVReg,
Register PhysReg,
const CCValAssign &VA) { … }
void PPCIncomingValueHandler::assignValueToAddress(
Register ValVReg, Register Addr, LLT MemTy, const MachinePointerInfo &MPO,
const CCValAssign &VA) { … }
Register PPCIncomingValueHandler::getStackAddress(uint64_t Size, int64_t Offset,
MachinePointerInfo &MPO,
ISD::ArgFlagsTy Flags) { … }
void FormalArgHandler::markPhysRegUsed(unsigned PhysReg) { … }