[PATCH] D50665: [LV][LAA] Vectorize loop invariant values stored into loop invariant address

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 25 08:30:22 PDT 2018


anna marked 3 inline comments as done.
anna added inline comments.


================
Comment at: lib/Analysis/LoopAccessAnalysis.cpp:1883
+      HasVariantStoreToLoopInvariantAddress = true;
+
     // If we did *not* see this pointer before, insert it to  the read-write
----------------
Ayal wrote:
> Maybe clearer to do
> 
> ```
>   if (isUniform(Ptr)) {
>     // Consider multiple stores to the same uniform address as a store of a variant value.
>     bool MultipleStoresToUniformPtr = UniformStores.insert(Ptr).second;
>     HasVariantStoreToLoopInvariantAddress |= (!isUniform(ST->getValueOperand()) || MultipleStoresToUniformPtr);
>   }
> ```
> 
> Note that supporting a single store of a variant value to an invariant address is easier than supporting multiple (conditional) stores of invariant values to an invariant address, as discussed. So the two conditions should probably be separated when the patch taking care of the former is introduced.
done. Should be `bool MultipleStoresToUniformPtr = !UniformStores.insert(Ptr).second;`


Repository:
  rL LLVM

https://reviews.llvm.org/D50665





More information about the llvm-commits mailing list