[PATCH] D19984: [LV] Handle RAW dependences in interleaved access analysis

silviu.baranga@arm.com via llvm-commits llvm-commits at lists.llvm.org
Thu May 12 08:19:33 PDT 2016


sbaranga added a comment.

Just to expand on the point above:

>From the algorithm of constructing interleaved groups, we should be able to exclude both WAW (from the algorithm, see the comments) and WAR (we're interleaving and then moving stores down and loads up, so we cannot break these) - for both loop-carried and loop independent dependences.

So the problem should only be RAW. If it is loop carried, then it is a forward dependence and we cannot vectorize, so this should be safe.
And this should handle the loop independent case.

Also we've probably not seen this until now because other optimizations would simply remove the load before this got to the vectorizer?

Cheers,
Silviu


http://reviews.llvm.org/D19984





More information about the llvm-commits mailing list