aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/DwarfEHPrepare.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/DwarfEHPrepare.cpp')
-rw-r--r--lib/CodeGen/DwarfEHPrepare.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/lib/CodeGen/DwarfEHPrepare.cpp b/lib/CodeGen/DwarfEHPrepare.cpp
index f27ec77..05ac58a 100644
--- a/lib/CodeGen/DwarfEHPrepare.cpp
+++ b/lib/CodeGen/DwarfEHPrepare.cpp
@@ -32,7 +32,6 @@ STATISTIC(NumResumesLowered, "Number of resume calls lowered");
namespace {
class DwarfEHPrepare : public FunctionPass {
- const TargetMachine *TM;
const TargetLoweringBase *TLI;
// RewindFunction - _Unwind_Resume or the target equivalent.
@@ -43,9 +42,8 @@ namespace {
public:
static char ID; // Pass identification, replacement for typeid.
- DwarfEHPrepare(const TargetMachine *tm) :
- FunctionPass(ID), TM(tm), TLI(TM->getTargetLowering()),
- RewindFunction(0) {
+ DwarfEHPrepare(const TargetLoweringBase *TLI) :
+ FunctionPass(ID), TLI(TLI), RewindFunction(0) {
initializeDominatorTreePass(*PassRegistry::getPassRegistry());
}
@@ -61,8 +59,8 @@ namespace {
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
@@ -108,18 +106,15 @@ Value *DwarfEHPrepare::GetExceptionObject(ResumeInst *RI) {
/// InsertUnwindResumeCalls - Convert the ResumeInsts that are still present
/// into calls to the appropriate _Unwind_Resume function.
bool DwarfEHPrepare::InsertUnwindResumeCalls(Function &Fn) {
- bool UsesNewEH = false;
SmallVector<ResumeInst*, 16> Resumes;
for (Function::iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) {
TerminatorInst *TI = I->getTerminator();
if (ResumeInst *RI = dyn_cast<ResumeInst>(TI))
Resumes.push_back(RI);
- else if (InvokeInst *II = dyn_cast<InvokeInst>(TI))
- UsesNewEH = II->getUnwindDest()->isLandingPad();
}
if (Resumes.empty())
- return UsesNewEH;
+ return false;
// Find the rewind function if we didn't already.
if (!RewindFunction) {