1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/lib/Transforms/Vectorize
Matthew Simpson 23308c98a2 [LV] Process pointer IVs with PHINodes in collectLoopUniforms
This patch moves the processing of pointer induction variables in
collectLoopUniforms from the consecutive pointer phase of the analysis to the
phi node phase. Previously, if a pointer induction variable was used by both a
scalarized non-memory instruction as well as a vectorized memory instruction,
we would incorrectly identify the pointer as uniform. Pointer induction
variables should be treated the same as other phi nodes. That is, they are
uniform if all users of the induction variable and induction variable update
are uniform.

Differential Revision: https://reviews.llvm.org/D24511

llvm-svn: 281485
2016-09-14 14:47:40 +00:00
..
BBVectorize.cpp IR: Remove Value::intersectOptionalDataWith, replace all calls with calls to Instruction::andIRFlags. 2016-09-07 23:39:04 +00:00
CMakeLists.txt Add LoadStoreVectorizer pass 2016-06-30 23:11:38 +00:00
LLVMBuild.txt
LoadStoreVectorizer.cpp LSV: Fix incorrectly increasing alignment 2016-09-09 22:20:14 +00:00
LoopVectorize.cpp [LV] Process pointer IVs with PHINodes in collectLoopUniforms 2016-09-14 14:47:40 +00:00
SLPVectorizer.cpp ADT: Do not inherit from std::iterator in ilist_iterator 2016-09-03 02:27:35 +00:00
Vectorize.cpp Add LoadStoreVectorizer pass 2016-06-30 23:11:38 +00:00