[PATCH] D12477: [LV] Don't bail to MiddleBlock if a runtime check fails, bail to ScalarPH instead
James Molloy via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 30 04:19:34 PDT 2015
jmolloy created this revision.
jmolloy added reviewers: hfinkel, anemet, mzolotukhin.
jmolloy added a subscriber: llvm-commits.
jmolloy set the repository for this revision to rL LLVM.
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.
Repository:
rL LLVM
http://reviews.llvm.org/D12477
Files:
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/debugloc.ll
test/Transforms/LoopVectorize/induction.ll
test/Transforms/LoopVectorize/reduction.ll
test/Transforms/LoopVectorize/runtime-check.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12477.33531.patch
Type: text/x-patch
Size: 11196 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150830/9c86ed1d/attachment.bin>
More information about the llvm-commits
mailing list