[PATCH] D19984: [LV] Handle RAW dependences in interleaved access analysis
Adam Nemet via llvm-commits
llvm-commits at lists.llvm.org
Thu May 12 11:05:27 PDT 2016
anemet added a comment.
Hi Silviu,
In http://reviews.llvm.org/D19984#428379, @sbaranga wrote:
> 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.
What about moving elements of an interleaved group over other dependent accesses not in the same group?
Adam
================
Comment at: test/Transforms/LoopVectorize/interleaved-accesses.ll:574-579
@@ +573,8 @@
+;
+; void PR27626(struct pair *p, int n) {
+; for (int i = 0; i < n; i++) {
+; p->x = p->y;
+; p->y = p->x;
+; }
+; }
+
----------------
You mean p[i].x etc in the loop.
http://reviews.llvm.org/D19984
More information about the llvm-commits
mailing list