]> granicus.if.org Git - llvm/commitdiff
[NFC] Add failing test on LCSSA form preservation of LoopSimplifyCFG
authorMax Kazantsev <max.kazantsev@azul.com>
Fri, 28 Dec 2018 10:43:37 +0000 (10:43 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Fri, 28 Dec 2018 10:43:37 +0000 (10:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350119 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/LoopSimplifyCFG/lcssa.ll

index 82920f153044bcfdf578e5da27592ce696b96068..032b12a755b72a5f77345b3c98e0658642f00f81 100644 (file)
@@ -1,7 +1,11 @@
 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; 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
 ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -enable-mssa-loop-dependency=true -verify-memoryssa -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s
+; XFAIL: *
+; test_01 is currently failing because the loop is not in LCSSA form after the
+; transform.
 
 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
 
@@ -50,3 +54,24 @@ if.end.7:                                         ; preds = %if.end
 if.end.8:                                         ; preds = %if.end.7
   br label %for.cond
 }
+
+define void @test_01() {
+entry:
+  br label %for.cond
+
+for.cond.loopexit:                                ; preds = %while.cond
+  %inc41.lcssa = phi i16 [ %inc41, %while.cond ]
+  br label %for.cond
+
+for.cond:                                         ; preds = %for.cond.loopexit, %entry
+  %inc41.lcssa3 = phi i16 [ %inc41.lcssa, %for.cond.loopexit ], [ undef, %entry ]
+  br label %while.cond
+
+while.cond:                                       ; preds = %while.body, %for.cond
+  %inc41 = phi i16 [ %inc4, %while.body ], [ %inc41.lcssa3, %for.cond ]
+  br i1 true, label %while.body, label %for.cond.loopexit
+
+while.body:                                       ; preds = %while.cond
+  %inc4 = add nsw i16 %inc41, 1
+  br label %while.cond
+}