OSDN Git Service

[NFC] Add test with multiple loops
authorMax Kazantsev <max.kazantsev@azul.com>
Fri, 25 Jan 2019 08:46:00 +0000 (08:46 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Fri, 25 Jan 2019 08:46:00 +0000 (08:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352176 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/LoopSimplifyCFG/update_parents.ll

index fe2c5a5..e9a25c9 100644 (file)
@@ -30,3 +30,58 @@ bb6:                                              ; preds = %bb4
 bb8:                                              ; preds = %bb6
   br i1 true, label %bb4, label %bb3
 }
+
+define void @test_many_subloops(i1 %c) {
+
+; CHECK-LABEL: @test_many_subloops(
+
+  br label %bb1
+
+bb1:
+  br label %bb2
+
+bb2:
+  br label %bb3
+
+bb3:
+  br i1 false, label %bb4, label %bb3
+
+bb4:
+  br i1 undef, label %bb1, label %subloop1
+
+subloop1:
+  br i1 %c, label %subloop2, label %subloop11
+
+subloop11:
+  br i1 %c, label %subloop11, label %subloop12
+
+subloop12:
+  br i1 %c, label %subloop12, label %subloop13
+
+subloop13:
+  br i1 %c, label %subloop13, label %subloop1_latch
+
+subloop1_latch:
+  br label %subloop1
+
+subloop2:
+  br i1 %c, label %bb6, label %subloop21
+
+subloop21:
+  br i1 %c, label %subloop21, label %subloop22
+
+subloop22:
+  br i1 %c, label %subloop22, label %subloop23
+
+subloop23:
+  br i1 %c, label %subloop23, label %subloop2_latch
+
+subloop2_latch:
+  br label %subloop2
+
+bb6:
+  br i1 undef, label %bb2, label %bb8
+
+bb8:
+  br i1 true, label %bb4, label %bb3
+}