diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-06-28 17:42:09 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-06-28 17:42:09 +0000 |
commit | eb9025d6984ba3d322deb156811c9fb7e73c17eb (patch) | |
tree | 09fdd8d579b8ada879fdf45f6e09cb69bb29ecaf /llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | |
parent | 02e831cf2f15196839c7a924465621f6bebc5dbd (diff) | |
download | llvm-eb9025d6984ba3d322deb156811c9fb7e73c17eb.zip llvm-eb9025d6984ba3d322deb156811c9fb7e73c17eb.tar.gz llvm-eb9025d6984ba3d322deb156811c9fb7e73c17eb.tar.bz2 |
AMDGPU: Fix global isel crashes
llvm-svn: 274039
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp index 2ba5416..74014e5 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp @@ -14,16 +14,17 @@ //===----------------------------------------------------------------------===// #include "AMDGPUTargetMachine.h" -#include "AMDGPUTargetObjectFile.h" #include "AMDGPU.h" +#include "AMDGPUCallLowering.h" +#include "AMDGPUTargetObjectFile.h" #include "AMDGPUTargetTransformInfo.h" #include "R600ISelLowering.h" #include "R600InstrInfo.h" #include "R600MachineScheduler.h" #include "SIISelLowering.h" #include "SIInstrInfo.h" + #include "llvm/Analysis/Passes.h" -#include "llvm/CodeGen/GlobalISel/CallLowering.h" #include "llvm/CodeGen/GlobalISel/IRTranslator.h" #include "llvm/CodeGen/MachineFunctionAnalysis.h" #include "llvm/CodeGen/MachineModuleInfo.h" @@ -198,8 +199,8 @@ const R600Subtarget *R600TargetMachine::getSubtargetImpl( #ifdef LLVM_BUILD_GLOBAL_ISEL namespace { struct SIGISelActualAccessor : public GISelAccessor { - std::unique_ptr<CallLowering> CallLoweringInfo; - const CallLowering *getCallLowering() const override { + std::unique_ptr<AMDGPUCallLowering> CallLoweringInfo; + const AMDGPUCallLowering *getCallLowering() const override { return CallLoweringInfo.get(); } }; @@ -232,6 +233,8 @@ const SISubtarget *GCNTargetMachine::getSubtargetImpl(const Function &F) const { GISelAccessor *GISel = new GISelAccessor(); #else SIGISelActualAccessor *GISel = new SIGISelActualAccessor(); + GISel->CallLoweringInfo.reset( + new AMDGPUCallLowering(*I->getTargetLowering())); #endif I->setGISelAccessor(*GISel); |