[llvm] 794fb54 - [Test] Add test on unrolling to make sure it won't fail

Max Kazantsev via llvm-commits llvm-commits at lists.llvm.org
Wed May 26 02:32:36 PDT 2021


Author: Max Kazantsev
Date: 2021-05-26T16:30:41+07:00
New Revision: 794fb5482efc4af5434e23efb5b0a99b4a386eed

URL: https://github.com/llvm/llvm-project/commit/794fb5482efc4af5434e23efb5b0a99b4a386eed
DIFF: https://github.com/llvm/llvm-project/commit/794fb5482efc4af5434e23efb5b0a99b4a386eed.diff

LOG: [Test] Add test on unrolling to make sure it won't fail

Initially it failed an assertion with "Do actual DCE in LoopUnroll (try 2)"
which was later reverted. Make sure that when this patch is returned, the
test works fine.

Added: 
    

Modified: 
    llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll b/llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
index 995d5de0cdf79..e8dfa0a1a5beb 100644
--- a/llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
+++ b/llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
@@ -229,5 +229,35 @@ for.end:
   ret void
 }
 
+; Test it doesn't crash.
+define void @test4(i32 %arg) {
+; CHECK-LABEL: @test4(
+; CHECK-NEXT:  bb:
+; CHECK-NEXT:    br label [[BB1:%.*]]
+; CHECK:       bb1:
+; CHECK-NEXT:    br i1 false, label [[BB4:%.*]], label [[BB1_1:%.*]]
+; CHECK:       bb4:
+; CHECK-NEXT:    unreachable
+; CHECK:       bb1.1:
+; CHECK-NEXT:    br i1 false, label [[BB4]], label [[BB1_2:%.*]]
+; CHECK:       bb1.2:
+; CHECK-NEXT:    br i1 false, label [[BB4]], label [[BB1_3:%.*]]
+; CHECK:       bb1.3:
+; CHECK-NEXT:    br i1 false, label [[BB4]], label [[BB1]], !llvm.loop [[LOOP3:![0-9]+]]
+;
+bb:
+  br label %bb1
+
+bb1:                                              ; preds = %bb1, %bb
+  %tmp = phi i64 [ 0, %bb ], [ 65, %bb1 ]
+  %tmp2 = phi i32 [ %arg, %bb ], [ %tmp3, %bb1 ]
+  %tmp3 = add i32 0, -1880031232
+  br i1 false, label %bb4, label %bb1
+
+bb4:                                              ; preds = %bb1
+  unreachable
+}
+
+
 declare void @bar(i32)
 declare i1 @foo(i64)


        


More information about the llvm-commits mailing list