[PATCH] D18940: Loop vectorization with uniform load
Ayal Zaks via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 18 09:48:28 PDT 2016
Ayal added a comment.
Indeed, "isUniform" actually means "versionably invariant". Note that invariance implies uniformity but the converse may not always hold in general, in which case a positive shuffle cost inside the loop would be right. However in our current innermost-loop (predicated-)scev-based analysis case, they are synonymous, hence such loads should always be hoistable.
Unfortunate that such a naïve testcase evades alias analysis. Add "float * __restrict A" to see licm hoist inc.
Repository:
rL LLVM
http://reviews.llvm.org/D18940
More information about the llvm-commits
mailing list