summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopRotate/phi-duplicate.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2011-01-08 08:24:46 +0000
committerChris Lattner <sabre@nondot.org>2011-01-08 08:24:46 +0000
commit8c5defd0b0efbfeb62ff8406af6483a6f36b5981 (patch)
treed325e9fb097a5255e2a3696f12cfcf98fcc67ebe /llvm/test/Transforms/LoopRotate/phi-duplicate.ll
parent75c82cb594a10aaa16a0f2f93269c40e3db12767 (diff)
downloadbcm5719-llvm-8c5defd0b0efbfeb62ff8406af6483a6f36b5981.tar.gz
bcm5719-llvm-8c5defd0b0efbfeb62ff8406af6483a6f36b5981.zip
Have loop-rotate simplify instructions (yay instsimplify!) as it clones
them into the loop preheader, eliminating silly instructions like "icmp i32 0, 100" in fixed tripcount loops. This also better exposes the bigger problem with loop rotate that I'd like to fix: once this has been folded, the duplicated conditional branch *often* turns into an uncond branch. Not aggressively handling this is pessimizing later loop optimizations somethin' fierce by making "dominates all exit blocks" checks fail. llvm-svn: 123060
Diffstat (limited to 'llvm/test/Transforms/LoopRotate/phi-duplicate.ll')
-rw-r--r--llvm/test/Transforms/LoopRotate/phi-duplicate.ll5
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/test/Transforms/LoopRotate/phi-duplicate.ll b/llvm/test/Transforms/LoopRotate/phi-duplicate.ll
index 5403e723ee1..c252a32d515 100644
--- a/llvm/test/Transforms/LoopRotate/phi-duplicate.ll
+++ b/llvm/test/Transforms/LoopRotate/phi-duplicate.ll
@@ -34,14 +34,13 @@ for.end: ; preds = %for.cond
; CHECK: define void @test
; CHECK-NEXT: entry:
-; CHECK-NEXT: icmp slt i64
-; CHECK-NEXT: br i1
+; CHECK-NEXT: br i1 true, label %bb.nph, label %for.end
; CHECK-NOT: :
; CHECK: bb.nph:
; CHECK-NEXT: br label %for.body
; CHECK-NOT: :
; CHECK: for.body:
-; CHECK-NEXT: %j.02 = phi i64
+; CHECK-NEXT: %j.01 = phi i64
; CHECK-NOT: phi
; CHECK: ret void
; CHECK-NEXT: }
OpenPOWER on IntegriCloud