[PATCH] D42447: [LV][VPlan] Detect outer loops for explicit vectorization.

Renato Golin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 3 12:47:18 PDT 2018


rengolin added a comment.

In https://reviews.llvm.org/D42447#1033730, @dcaballe wrote:

> Is -vplan-build-stress-test flag in Patch #3 (https://reviews.llvm.org/D44338) aligned with what you had in mind? :)


Yes, that's exactly what I had in mind. :)

I have no further questions, I'll let @fhahn finish this review.

Thanks!



================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:263
+static cl::opt<bool> EnableVPlanNativePath(
+    "enable-vplan-native-path", cl::init(false), cl::Hidden,
+    cl::desc("Enable VPlan-native vectorization path with "
----------------
dcaballe wrote:
> rengolin wrote:
> > Right now, this is just enabling outer-loop. Are you planning on adding more functionality to the native part of VPlan before merging the inner loop vectoriser into it? I wouldn't recommend, as we really don't want two paths in parallel for too long.
> > 
> > I'd recommend this to just be called "vectorize-outerloop" or something.
> Inner loop vectorization is a subset of outer loop vectorization so the VPlan native path will be inherently supporting inner loops. However, it's not our intention to enable it "for production" while both paths co-exist. However, as we described in the RFC, inner loop vectorization support in the VPlan native path is indispensable for the convergence of both paths. As we start migrating and extending all the existing functionality for inner loops to outer loops in the VPlan native path, we will need to compare side-by-side where both paths stand regarding inner loop vectorization. When both paths are comparable in that regard, the migration will be completed.
> 
> Inner loop support will also be very useful for (stress) testing the VPlan native path, since some loops don't have another loop around.
> 
> For these reasons we are not using the 'outerloop' word in the flags/interfaces.
> Does it make sense to you?
It does, thanks for the explanation!


https://reviews.llvm.org/D42447





More information about the llvm-commits mailing list