1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/lib/Transforms/Vectorize
Chad Rosier bf29f811c5 [LV] Use Demanded Bits and ValueTracking for reduction type-shrinking
The type-shrinking logic in reduction detection, although narrow in scope, is
also rather ad-hoc, which has led to bugs (e.g., PR35734). This patch modifies
the approach to rely on the demanded bits and value tracking analyses, if
available. We currently perform type-shrinking separately for reductions and
other instructions in the loop. Long-term, we should probably think about
computing minimal bit widths in a more complete way for the loops we want to
vectorize.

PR35734
Differential Revision: https://reviews.llvm.org/D42309

llvm-svn: 324195
2018-02-04 15:42:24 +00:00
..
CMakeLists.txt
LLVMBuild.txt
LoadStoreVectorizer.cpp Add explanatory comment to LoadStoreVectorizer. 2018-01-10 03:02:12 +00:00
LoopVectorizationPlanner.h Add missing includes 2018-02-02 00:11:09 +00:00
LoopVectorize.cpp [LV] Use Demanded Bits and ValueTracking for reduction type-shrinking 2018-02-04 15:42:24 +00:00
SLPVectorizer.cpp [SLP] Fix for PR32086: Count InsertElementInstr of the same elements as shuffle. 2018-01-29 16:08:52 +00:00
Vectorize.cpp Remove redundant includes from lib/Transforms. 2017-12-13 21:31:01 +00:00
VPlan.cpp [LV] NFC patch for moving VP*Recipe class definitions from LoopVectorize.cpp to VPlan.h 2017-12-16 01:12:50 +00:00
VPlan.h [LV][VPlan] NFC patch to move LoopVectorizationPlanner class out of LoopVectorize.cpp 2018-01-07 16:02:58 +00:00
VPlanValue.h [LV] Model masking in VPlan, introducing VPInstructions 2017-11-20 12:01:47 +00:00