[PATCH] D19984: [LV] Preserve order of dependences in interleaved accesses analysis

Matthew Simpson via llvm-commits llvm-commits at lists.llvm.org
Wed May 18 12:41:53 PDT 2016


mssimpso added a comment.

Hi Silviu,

It sounds like you're suggesting that we should just query LAA to determine if any dependence exists between the two candidate instructions, and if so, prevent reordering. Does that sound right?


================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:5093
@@ +5092,3 @@
+  // are dependent. First, we get the interleave factor of the accesses. If
+  // they aren't interleaved or they have different strides, don't reorder.
+  auto FactorA = std::abs(DesA.Stride);
----------------
sbaranga wrote:
> Same here. Ideally we would know we have NoDep from LAA.
> 
> Some of the checks here seem to be specifically related to forming the interleaved groups, and less about reordering accesses.
If you're referring to the type and factor checks, those are required before we can call areStridedAccessesIndependent.


http://reviews.llvm.org/D19984





More information about the llvm-commits mailing list