[PATCH] D54538: [LV] Avoid vectorizing unsafe dependencies in uniform address
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 14 13:14:36 PST 2018
efriedma added inline comments.
================
Comment at: lib/Analysis/LoopAccessAnalysis.cpp:1927
+ UniformStores.find(Ptr) != UniformStores.end() &&
+ !DT->dominates(UniformStoreMap[Ptr], LD)) {
+ LLVM_DEBUG(dbgs() << "LAA: Found an unsafe dependency between a uniform "
----------------
I'm not sure the dominance check is sufficient. Yes, if the store dominates the load, it's theoretically possible to vectorize the loop, but only if vectorizer has a special case to forward the stored values to the load. Otherwise, the load will get values from the wrong loop iteration.
Repository:
rL LLVM
https://reviews.llvm.org/D54538
More information about the llvm-commits
mailing list