These splits should be done whether they are critical edges or not.
authorBill Wendling <isanbard@gmail.com>
Sat, 27 Aug 2011 04:40:37 +0000 (04:40 +0000)
committerBill Wendling <isanbard@gmail.com>
Sat, 27 Aug 2011 04:40:37 +0000 (04:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138697 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SjLjEHPrepare.cpp

index e18cbeaeb36d2896f7c1a5965624cce52ae69172..ed0202551274d5dad7a35deb9f5ada4ce6332142 100644 (file)
@@ -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);
     }