From 1ce38545fb142740944e5f268ec6c4b543f706f5 Mon Sep 17 00:00:00 2001 From: Quentin Colombet Date: Tue, 16 Feb 2016 00:57:44 +0000 Subject: [GlobalISel] Get rid of the ifdefs in TargetLowering. Introduce a new API used only by GlobalISel: CallLowering. This API will contain target hooks dedicated to call lowering. llvm-svn: 260922 --- llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'llvm/lib/CodeGen') diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp index ffbda5ba591..b1a8332d608 100644 --- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp +++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp @@ -13,6 +13,7 @@ #include "llvm/CodeGen/GlobalISel/IRTranslator.h" #include "llvm/ADT/SmallVector.h" +#include "llvm/CodeGen/GlobalISel/CallLowering.h" #include "llvm/CodeGen/MachineFunction.h" #include "llvm/CodeGen/MachineRegisterInfo.h" #include "llvm/IR/Constant.h" @@ -75,7 +76,7 @@ bool IRTranslator::translateReturn(const Instruction &Inst) { // The target may mess up with the insertion point, but // this is not important as a return is the last instruction // of the block anyway. - return TLI->LowerReturn(MIRBuilder, Ret, + return CLI->LowerReturn(MIRBuilder, Ret, !Ret ? 0 : getOrCreateVReg(Ret)); } @@ -104,7 +105,7 @@ bool IRTranslator::runOnMachineFunction(MachineFunction &MF) { const Function &F = *MF.getFunction(); if (F.empty()) return false; - TLI = MF.getSubtarget().getTargetLowering(); + CLI = MF.getSubtarget().getCallLowering(); MIRBuilder.setFunction(MF); MRI = &MF.getRegInfo(); // Setup the arguments. @@ -113,7 +114,7 @@ bool IRTranslator::runOnMachineFunction(MachineFunction &MF) { SmallVector VRegArgs; for (const Argument &Arg: F.args()) VRegArgs.push_back(getOrCreateVReg(&Arg)); - bool Succeeded = TLI->LowerFormalArguments(MIRBuilder, F.getArgumentList(), + bool Succeeded = CLI->LowerFormalArguments(MIRBuilder, F.getArgumentList(), VRegArgs); if (!Succeeded) report_fatal_error("Unable to lower arguments"); -- cgit v1.2.3