[PATCH] D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence

Hal Finkel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 3 12:22:21 PDT 2017


hfinkel added a comment.

In https://reviews.llvm.org/D36113#850469, @DIVYA wrote:

> @hfinkel 
>  we tried adding this patch to loop vectorizer. but after reordering the instructions, canVectorizeMemory() needs to be called again to check if it can now be vectorized.However,we are  unable to recompute loop-access-info once the instructions have been reordered.So it stills holds the old loop-access-info(before reordering) and does not vectorize. Is is there any way to recompute loop-access-info after reordering the instructions?


Do you want to recompute the LAA, or just update it to remove the dependencies that you'll later remove when you generate the vectorized code? Ideally, the reordering would just become part of the vectorizartion plan (the vplan infrastructure is now committed). Maybe you can update the instruction ordering in the MemDepChecker's ordering map, and then have it recompute dependencies with the new ordering. We could have a corresponding ordering map in the vectorization plan as well.


https://reviews.llvm.org/D36113





More information about the llvm-commits mailing list