summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2018-12-28 10:43:37 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2018-12-28 10:43:37 +0000
commit8f70c9bf49fe56d34c8c176ec5c565acf7cbdfc9 (patch)
tree613cf9dff40cc2b17eb79459b49b7b54135df414
parent1ea98f040ea4281878bdd6474af6aab3462735f9 (diff)
downloadbcm5719-llvm-8f70c9bf49fe56d34c8c176ec5c565acf7cbdfc9.tar.gz
bcm5719-llvm-8f70c9bf49fe56d34c8c176ec5c565acf7cbdfc9.zip
[NFC] Add failing test on LCSSA form preservation of LoopSimplifyCFG
llvm-svn: 350119
-rw-r--r--llvm/test/Transforms/LoopSimplifyCFG/lcssa.ll25
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopSimplifyCFG/lcssa.ll b/llvm/test/Transforms/LoopSimplifyCFG/lcssa.ll
index 82920f15304..032b12a755b 100644
--- a/llvm/test/Transforms/LoopSimplifyCFG/lcssa.ll
+++ b/llvm/test/Transforms/LoopSimplifyCFG/lcssa.ll
@@ -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
+}
OpenPOWER on IntegriCloud