[PATCH] D20474: when calculating RegUsages, ignore instructions which are uniformed after vectorization
Michael Kuperstein via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 7 18:30:26 PDT 2016
mkuper added inline comments.
================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:5350
@@ -5349,3 +5349,3 @@
// Only examine Loads, Stores and PHINodes.
if (!isa<LoadInst>(it) && !isa<StoreInst>(it) && !isa<PHINode>(it))
continue;
----------------
Another side point - should we remove this?
Looking at http://reviews.llvm.org/rL172178, the reason that we only look at loads, stores, and PHIs is that "We don't have a detailed analysis on which values are vectorized and which stay scalars in the vectorized loop so we use another method. We look at reduction variables, loads and stores, which are the only ways to get information in and out of loop iterations".
That was true at the time, but since then we've gained a precise way of knowing which instructions are uniform, and with this patch will actually use that for ValuesToIgnore. So this check will now only miss instructions that ought to be taken into account, right?
Repository:
rL LLVM
http://reviews.llvm.org/D20474
More information about the llvm-commits
mailing list