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 f64cb1c3a7 [LV] Avoid emitting trivially dead instructions
Some instructions from the original loop, when vectorized, can become trivially
dead. This happens because of the way we structure the new loop. For example,
we create new induction variables and induction variable "steps" in the new
loop. Thus, when we go to vectorize the original induction variable update, it
may no longer be needed due to the instructions we've already created. This
patch prevents us from creating these redundant instructions. This reduces code
size before simplification and allows greater flexibility in code generation
since we have fewer unnecessary instruction uses.

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

llvm-svn: 284631
2016-10-19 19:22:02 +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 Add new target hooks for LoadStoreVectorizer 2016-10-03 10:31:34 +00:00
LoopVectorize.cpp [LV] Avoid emitting trivially dead instructions 2016-10-19 19:22:02 +00:00
SLPVectorizer.cpp [SLPVectorizer] Fix for PR25748: reduction vectorization after loop 2016-10-07 09:39:22 +00:00
Vectorize.cpp Add LoadStoreVectorizer pass 2016-06-30 23:11:38 +00:00