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 | 4707d37ac9ef87893c9b35c5d2f9563a91b10fd5 (patch) | |
| tree | 16a10734f07e856efbc2aa4b95cae14a128702cb /llvm/lib | |
| parent | bd0a6019a2931b01c2bbafb9dd678bdf5513f1b2 (diff) | |
| download | bcm5719-llvm-4707d37ac9ef87893c9b35c5d2f9563a91b10fd5.tar.gz bcm5719-llvm-4707d37ac9ef87893c9b35c5d2f9563a91b10fd5.zip | |
These splits should be done whether they are critical edges or not.
llvm-svn: 138697
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SjLjEHPrepare.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/llvm/lib/CodeGen/SjLjEHPrepare.cpp b/llvm/lib/CodeGen/SjLjEHPrepare.cpp index e18cbeaeb36..ed020255127 100644 --- a/llvm/lib/CodeGen/SjLjEHPrepare.cpp +++ b/llvm/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); } |

