/// createDwarfEHPass - This pass mulches exception handling code into a form
/// adapted to code generation. Required if using dwarf exception handling.
- FunctionPass *createDwarfEHPass(const TargetMachine *tm);
+ FunctionPass *createDwarfEHPass(const TargetLoweringBase *tli);
/// createSjLjEHPreparePass - This pass adapts exception handling code to use
/// the GCC-style builtin setjmp/longjmp (sjlj) to handling EH control flow.
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());
}
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
case ExceptionHandling::DwarfCFI:
case ExceptionHandling::ARM:
case ExceptionHandling::Win64:
- addPass(createDwarfEHPass(TM));
+ addPass(createDwarfEHPass(TM->getTargetLowering()));
break;
case ExceptionHandling::None:
addPass(createLowerInvokePass(TM->getTargetLowering()));