[PATCH] D22867: [LV] Untangle the concepts of uniform and scalar
Michael Kuperstein via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 29 14:14:37 PDT 2016
mkuper added inline comments.
================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:1539
@@ +1538,3 @@
+ /// during vectorization. Non-uniform scalarized instructions will be
+ /// represted by VF values in the vectorized loop, each corresponding to an
+ /// iteration of the original scalar loop.
----------------
represted -> represented.
================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:4955
@@ -4863,4 +4954,3 @@
- // Also add all consecutive pointer values; these values will be uniform
- // after vectorization (and subsequent cleanup).
- for (auto *BB : TheLoop->blocks()) {
+ // Also add all uniform pointer values.
+ for (auto *BB : TheLoop->blocks())
----------------
This is still not quite right.
getUniformPtr() doesn't actually return a pointer if I has a uniform pointer argument. It does for the consecutive and interleaved case, but not for "real" scalar loop-invariant uniform pointers (e.g. a load from a global) - that is, uniform in the Legal->isUniform() sense.
Have I already thanked you for untangling this? :-)
https://reviews.llvm.org/D22867
More information about the llvm-commits
mailing list