]> granicus.if.org Git - llvm/commitdiff
[NFC] Add failing test on LCSSA forming
authorMax Kazantsev <max.kazantsev@azul.com>
Fri, 25 Jan 2019 11:32:21 +0000 (11:32 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Fri, 25 Jan 2019 11:32:21 +0000 (11:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352190 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/LoopSimplifyCFG/lcssa.ll

index e3a40a2d530075812e34cd2bb0f0be2cdee74452..e5609b96adeed521c14f005efb64a1d53156df42 100644 (file)
@@ -1,4 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; XFAIL: *
 ; REQUIRES: asserts
 ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s
 ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -passes='require<domtree>,loop(simplify-cfg)' -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s
@@ -90,3 +91,45 @@ while.body:                                       ; preds = %while.cond
   %inc4 = add nsw i16 %inc41, 1
   br label %while.cond
 }
+
+define void @bar() {
+
+; CHECK-LABEL: @bar
+
+bb:
+  br label %bb1
+
+bb1:                                              ; preds = %bb6, %bb
+  %tmp = phi i32 [ %tmp7, %bb6 ], [ undef, %bb ]
+  br i1 false, label %bb2, label %bb4
+
+bb2:                                              ; preds = %bb1
+  switch i32 undef, label %bb10 [
+    i32 0, label %bb3
+    i32 1, label %bb8
+  ]
+
+bb3:                                              ; preds = %bb2
+  br label %bb6
+
+bb4:                                              ; preds = %bb1
+  switch i32 undef, label %bb5 [
+    i32 0, label %bb6
+    i32 1, label %bb8
+  ]
+
+bb5:                                              ; preds = %bb4
+  ret void
+
+bb6:                                              ; preds = %bb4, %bb3
+  %tmp7 = add i32 undef, 123
+  br label %bb1
+
+bb8:                                              ; preds = %bb4, %bb2
+  %tmp9 = phi i32 [ %tmp, %bb2 ], [ %tmp, %bb4 ]
+  %use = add i32 %tmp9, 1
+  ret void
+
+bb10:                                             ; preds = %bb2
+  ret void
+}