The fixme is irrelevant: if that happens, the LLVM bytecode is malformed.
authorChris Lattner <sabre@nondot.org>
Sun, 17 Aug 2003 19:34:55 +0000 (19:34 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 17 Aug 2003 19:34:55 +0000 (19:34 +0000)
This fixes testcase: SimplifyCFG/2003-08-17-BranchFold.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7919 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/Local.cpp

index 0d15ab50559f46f72165f86aab60c33979742fd3..d3778c504433d65b5606ac7842fb22a6e08d907f 100644 (file)
@@ -61,12 +61,7 @@ bool ConstantFoldTerminator(BasicBlock *BB) {
       // unconditional branch.
       BI->setUnconditionalDest(Destination);
       return true;
-    }
-#if 0
-    // FIXME: TODO: This doesn't work if the destination has PHI nodes with
-    // different incoming values on each branch!
-    //
-    else if (Dest2 == Dest1) {       // Conditional branch to same location?
+    } else if (Dest2 == Dest1) {       // Conditional branch to same location?
       // This branch matches something like this:  
       //     br bool %cond, label %Dest, label %Dest
       // and changes it into:  br label %Dest
@@ -79,7 +74,6 @@ bool ConstantFoldTerminator(BasicBlock *BB) {
       BI->setUnconditionalDest(Dest1);
       return true;
     }
-#endif
   }
   return false;
 }