diff options
author | Sean Silva <chisophugis@gmail.com> | 2016-07-19 23:54:29 +0000 |
---|---|---|
committer | Sean Silva <chisophugis@gmail.com> | 2016-07-19 23:54:29 +0000 |
commit | 554efb28d2a38de0ef9cb64c928c205408bbdecd (patch) | |
tree | e58592db4998970eef26baf3785963ff2d657769 /llvm/test/Transforms/LoopSimplify | |
parent | e3c18a5ae8ab0f5c3201b4231445425f2d993f86 (diff) | |
download | bcm5719-llvm-554efb28d2a38de0ef9cb64c928c205408bbdecd.tar.gz bcm5719-llvm-554efb28d2a38de0ef9cb64c928c205408bbdecd.zip |
Revert r275883 and r275891. They seem to cause PR28608.
Revert "[LoopSimplify] Update LCSSA after separating nested loops."
This reverts commit r275891.
Revert "[LCSSA] Post-process PHI-nodes created by SSAUpdate when constructing LCSSA form."
This reverts commit r275883.
llvm-svn: 276064
Diffstat (limited to 'llvm/test/Transforms/LoopSimplify')
-rw-r--r-- | llvm/test/Transforms/LoopSimplify/pr28272.ll | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/llvm/test/Transforms/LoopSimplify/pr28272.ll b/llvm/test/Transforms/LoopSimplify/pr28272.ll deleted file mode 100644 index 49990f92cab..00000000000 --- a/llvm/test/Transforms/LoopSimplify/pr28272.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: opt < %s -lcssa -loop-unroll -S | FileCheck %s -target triple = "x86_64-unknown-linux-gnu" - -; PR28272 -; When LoopSimplify separates nested loops, it might break LCSSA form: values -; from the original loop might be used in the outer loop. This test invokes -; loop-unroll, which calls loop-simplify before itself. If LCSSA is broken -; after loop-simplify, we crash on assertion. - -; CHECK-LABEL: @foo -define void @foo() { -entry: - br label %header - -header: - br label %loop1 - -loop1: - br i1 true, label %loop1, label %bb43 - -bb43: - %a = phi i32 [ undef, %loop1 ], [ 0, %bb45 ], [ %a, %bb54 ] - %b = phi i32 [ 0, %loop1 ], [ 1, %bb54 ], [ %c, %bb45 ] - br i1 true, label %bb114, label %header - -bb114: - %c = add i32 0, 1 - %d = add i32 0, 1 - br i1 true, label %bb45, label %bb54 - -bb45: - %x = add i32 %d, 0 - br label %bb43 - -bb54: - br label %bb43 -} - -; CHECK-LABEL: @foo2 -define void @foo2() { -entry: - br label %outer - -outer.loopexit: - br label %outer - -outer: - br label %loop1 - -loop1: - br i1 true, label %loop1, label %loop2.preheader - -loop2.preheader: - %a.ph = phi i32 [ undef, %loop1 ] - %b.ph = phi i32 [ 0, %loop1 ] - br label %loop2 - -loop2: - %a = phi i32 [ 0, %loop2.if.true ], [ %a, %loop2.if.false ], [ %a.ph, %loop2.preheader ], [0, %bb] - %b = phi i32 [ 1, %loop2.if.false ], [ %c, %loop2.if.true ], [ %b.ph, %loop2.preheader ], [%c, %bb] - br i1 true, label %loop2.if, label %outer.loopexit - -loop2.if: - %c = add i32 0, 1 - switch i32 undef, label %loop2.if.false [i32 0, label %loop2.if.true - i32 1, label %bb] - -loop2.if.true: - br i1 undef, label %loop2, label %bb - -loop2.if.false: - br label %loop2 - -bb: - br label %loop2 -} |