Index: test/Transforms/LoopUnroll/unloop.ll |
diff --git a/test/Transforms/LoopUnroll/unloop.ll b/test/Transforms/LoopUnroll/unloop.ll |
index 9a938cc28774e6b55812025c5356a498183efa62..5a9cacda443cb8d1df29f5109428fe96e5a66f90 100644 |
--- a/test/Transforms/LoopUnroll/unloop.ll |
+++ b/test/Transforms/LoopUnroll/unloop.ll |
@@ -21,8 +21,8 @@ outer: |
inner: |
%iv = phi i32 [ 0, %outer ], [ %inc, %tail ] |
%inc = add i32 %iv, 1 |
- call zeroext i1 @check() |
- br i1 true, label %outer.backedge, label %tail |
+ %wbucond = call zeroext i1 @check() |
+ br i1 %wbucond, label %outer.backedge, label %tail |
tail: |
br i1 false, label %inner, label %exit |
@@ -126,27 +126,25 @@ return: |
; Ensure that only the middle loop is removed and rely on verify-loopinfo to |
; check soundness. |
; |
-; This test must be disabled until trip count computation can be optimized... |
-; rdar:14038809 [SCEV]: Optimize trip count computation for multi-exit loops. |
-; CHECKFIXME: @unloopDeepNested |
+; CHECK: @unloopDeepNested |
; Inner-inner loop control. |
-; CHECKFIXME: while.cond.us.i: |
-; CHECKFIXME: br i1 %cmp.us.i, label %next_data.exit, label %while.body.us.i |
-; CHECKFIXME: if.then.us.i: |
-; CHECKFIXME: br label %while.cond.us.i |
+; CHECK: while.cond.us.i: |
+; CHECK: br i1 %cmp.us.i, label %next_data.exit, label %while.body.us.i |
+; CHECK: if.then.us.i: |
+; CHECK: br label %while.cond.us.i |
; Inner loop tail. |
-; CHECKFIXME: if.else.i: |
-; CHECKFIXME: br label %while.cond.outer.i |
+; CHECK: if.else.i: |
+; CHECK: br label %while.cond.outer.i |
; Middle loop control (removed). |
-; CHECKFIXME: valid_data.exit: |
-; CHECKFIXME-NOT: br |
-; CHECKFIXME: %cmp = call zeroext i1 @check() |
+; CHECK: valid_data.exit: |
+; CHECK-NOT: br |
+; CHECK: %cmp = call zeroext i1 @check() |
; Outer loop control. |
-; CHECKFIXME: copy_data.exit: |
-; CHECKFIXME: br i1 %cmp38, label %if.then39, label %while.cond.outer |
+; CHECK: copy_data.exit: |
+; CHECK: br i1 %cmp38, label %if.then39, label %while.cond.outer |
; Outer-outer loop tail. |
-; CHECKFIXME: while.cond.outer.outer.backedge: |
-; CHECKFIXME: br label %while.cond.outer.outer |
+; CHECK: while.cond.outer.outer.backedge: |
+; CHECK: br label %while.cond.outer.outer |
define void @unloopDeepNested() nounwind { |
for.cond8.preheader.i: |
%cmp113.i = call zeroext i1 @check() |