Loop Vectorizer - skipping "bitcast" before GEP
authorElena Demikhovsky <elena.demikhovsky@intel.com>
Mon, 26 Oct 2015 13:42:41 +0000 (13:42 +0000)
committerElena Demikhovsky <elena.demikhovsky@intel.com>
Mon, 26 Oct 2015 13:42:41 +0000 (13:42 +0000)
commitdf91a787c0fd828dff5dcf7dc2965c4a11f94b99
tree8b59ff881904280eb0078e472e522be422c4b873
parent3d79a7932c2bba25244cc6a1582fc7cf504932bd
Loop Vectorizer - skipping "bitcast" before GEP

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".

http://reviews.llvm.org/D13886

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251291 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.ll
test/Transforms/LoopVectorize/gep_with_bitcast.ll [new file with mode: 0644]