diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-08-27 04:40:37 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-08-27 04:40:37 +0000 |
commit | 8557e6c0c17a94ac6655aa6b5f56a23709410081 (patch) | |
tree | 3dd6cf31246b0daaf112bdf85468078e67d77ab8 | |
parent | b84619223051fd965cc64e70c8f6b70f7ae6ae85 (diff) |
These splits should be done whether they are critical edges or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138697 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/SjLjEHPrepare.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/lib/CodeGen/SjLjEHPrepare.cpp b/lib/CodeGen/SjLjEHPrepare.cpp index e18cbeaeb3..ed02025512 100644 --- a/lib/CodeGen/SjLjEHPrepare.cpp +++ b/lib/CodeGen/SjLjEHPrepare.cpp @@ -145,14 +145,10 @@ void SjLjEHPass::markInvokeCallSite(InvokeInst *II, int InvokeNo, if (isa<PHINode>(II->getUnwindDest()->begin())) { // FIXME: New EH - This if-condition will be always true in the new scheme. if (II->getUnwindDest()->isLandingPad()) { - if (isCriticalEdge(II, 1)) { - SmallVector<BasicBlock*, 2> NewBBs; - SplitLandingPadPredecessors(II->getUnwindDest(), II->getParent(), - ".1", ".2", this, NewBBs); - LPadSuccMap[II] = *succ_begin(NewBBs[0]); - } else { - LPadSuccMap[II] = II->getUnwindDest(); - } + SmallVector<BasicBlock*, 2> NewBBs; + SplitLandingPadPredecessors(II->getUnwindDest(), II->getParent(), + ".1", ".2", this, NewBBs); + LPadSuccMap[II] = *succ_begin(NewBBs[0]); } else { SplitCriticalEdge(II, 1, this); } @@ -206,14 +202,10 @@ splitLiveRangesAcrossInvokes(SmallVector<InvokeInst*,16> &Invokes) { // FIXME: New EH - This if-condition will be always true in the new scheme. if (II->getUnwindDest()->isLandingPad()) { - if (isCriticalEdge(II, 1)) { - SmallVector<BasicBlock*, 2> NewBBs; - SplitLandingPadPredecessors(II->getUnwindDest(), II->getParent(), - ".1", ".2", this, NewBBs); - LPadSuccMap[II] = *succ_begin(NewBBs[0]); - } else { - LPadSuccMap[II] = II->getUnwindDest(); - } + SmallVector<BasicBlock*, 2> NewBBs; + SplitLandingPadPredecessors(II->getUnwindDest(), II->getParent(), + ".1", ".2", this, NewBBs); + LPadSuccMap[II] = *succ_begin(NewBBs[0]); } else { SplitCriticalEdge(II, 1, this); } |