summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopVectorize/induction.ll
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2015-09-02 10:15:39 +0000
committerJames Molloy <james.molloy@arm.com>2015-09-02 10:15:39 +0000
commit1e583704f5cc0c1889e1c2f2140e62cb8020075a (patch)
tree543ff3337e6cc151b96e6cadf6a4b255547f69a3 /llvm/test/Transforms/LoopVectorize/induction.ll
parentf2523e38d8fc584ed1dd79f817a9cececcbe9b4c (diff)
downloadbcm5719-llvm-1e583704f5cc0c1889e1c2f2140e62cb8020075a.tar.gz
bcm5719-llvm-1e583704f5cc0c1889e1c2f2140e62cb8020075a.zip
[LV] Don't bail to MiddleBlock if a runtime check fails, bail to ScalarPH instead
We were bailing to two places if our runtime checks failed. If the initial overflow check failed, we'd go to ScalarPH. If any other check failed, we'd go to MiddleBlock. This caused us to have to have an extra PHI per induction and reduction as the vector loop's exit block was not dominated by its latch. There's no need to have this behavior - if we just always go to ScalarPH we can get rid of a bunch of complexity. llvm-svn: 246637
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/induction.ll')
-rw-r--r--llvm/test/Transforms/LoopVectorize/induction.ll4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/induction.ll b/llvm/test/Transforms/LoopVectorize/induction.ll
index f6072add3d1..59ee66a4a35 100644
--- a/llvm/test/Transforms/LoopVectorize/induction.ll
+++ b/llvm/test/Transforms/LoopVectorize/induction.ll
@@ -115,8 +115,8 @@ define i32 @i16_loop() nounwind readnone ssp uwtable {
; CHECK: br i1 true, label %scalar.ph, label %min.iters.checked
; CHECK: scalar.ph:
-; CHECK: %bc.resume.val = phi i32 [ %resume.val, %middle.block ], [ 0, %0 ]
-; CHECK: %bc.merge.rdx = phi i32 [ 1, %0 ], [ %5, %middle.block ]
+; CHECK: %bc.resume.val = phi i32 [ 0, %middle.block ], [ 0, %0 ]
+; CHECK: %bc.merge.rdx = phi i32 [ 1, %0 ], [ 1, %min.iters.checked ], [ %5, %middle.block ]
define i32 @max_i32_backedgetaken() nounwind readnone ssp uwtable {
OpenPOWER on IntegriCloud