The DWARF EH pass doesn't need the TargetMachine, only the TargetLoweringBase like the other EH passes.
llvm-svn: 182321
diff --git a/llvm/lib/CodeGen/DwarfEHPrepare.cpp b/llvm/lib/CodeGen/DwarfEHPrepare.cpp
index 31c8e59..ecfe6f3 100644
--- a/llvm/lib/CodeGen/DwarfEHPrepare.cpp
+++ b/llvm/lib/CodeGen/DwarfEHPrepare.cpp
@@ -42,8 +42,8 @@
public:
static char ID; // Pass identification, replacement for typeid.
- DwarfEHPrepare(const TargetMachine *TM) :
- FunctionPass(ID), TLI(TM->getTargetLowering()), RewindFunction(0) {
+ DwarfEHPrepare(const TargetLoweringBase *TLI) :
+ FunctionPass(ID), TLI(TLI), RewindFunction(0) {
initializeDominatorTreePass(*PassRegistry::getPassRegistry());
}
@@ -59,8 +59,8 @@
char DwarfEHPrepare::ID = 0;
-FunctionPass *llvm::createDwarfEHPass(const TargetMachine *tm) {
- return new DwarfEHPrepare(tm);
+FunctionPass *llvm::createDwarfEHPass(const TargetLoweringBase *TLI) {
+ return new DwarfEHPrepare(TLI);
}
/// GetExceptionObject - Return the exception object from the value passed into
diff --git a/llvm/lib/CodeGen/Passes.cpp b/llvm/lib/CodeGen/Passes.cpp
index bfbc062..1a6b62b 100644
--- a/llvm/lib/CodeGen/Passes.cpp
+++ b/llvm/lib/CodeGen/Passes.cpp
@@ -401,7 +401,7 @@
case ExceptionHandling::DwarfCFI:
case ExceptionHandling::ARM:
case ExceptionHandling::Win64:
- addPass(createDwarfEHPass(TM));
+ addPass(createDwarfEHPass(TM->getTargetLowering()));
break;
case ExceptionHandling::None:
addPass(createLowerInvokePass(TM->getTargetLowering()));