[PATCH] D13886: Loop Vectorizer - skiping "bitcast" allows to vectorize more loops
Elena Demikhovsky via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 20 03:52:05 PDT 2015
delena created this revision.
delena added reviewers: anemet, mzolotukhin, TylerNowicki.
delena added a subscriber: llvm-commits.
delena set the repository for this revision to rL LLVM.
Vectorization of memory instruction (Load/Store) is possible when the pointer is coming from GEP. The GEP analysis allows to estimate the profit.
In some cases we have a "bitcast" between GEP and memory instruction.
I added code that skips the "bitcast".
I replaced vectorization-remarks-profitable.ll test. As a result of the optimization, the remarks about non-beneficial vectorization disappeared and loop became vectorizable. I put another loops, that generate the same remarks as the previous.
Repository:
rL LLVM
http://reviews.llvm.org/D13886
Files:
../lib/Transforms/Vectorize/LoopVectorize.cpp
../test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.ll
../test/Transforms/LoopVectorize/gep_with_bitcast.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13886.37840.patch
Type: text/x-patch
Size: 15084 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151020/e311fa73/attachment.bin>
More information about the llvm-commits
mailing list