[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