[PATCH] D47477: [VPlan] Avoid building VPlans for each VF in the ILV (NFC).

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 29 07:09:13 PDT 2018


fhahn created this revision.
fhahn added reviewers: Ayal, rengolin, dcaballe, hsaito, mkuper, mzolotukhin.
Herald added subscribers: rkruppe, tschuett, bollu.

Currently we build a VPlan with VPRecipes for each vectorization factor
in the inner loop vectorizer, but we always drop all built plans except
the one with the VF selected by the legacy cost model, without using
them at all. This means we do unnecessary work in the inner loop
vectorizer and I think it is also slightly surprising for people looking
at the code.

As far as I understand, the plan is to evolve VPlan native vectorization
of outer and inner loops in the "VPlan native" path, without impacting
the existing inner loop vectorizer. So simplifying the code path in the
inner loop vectorizer should not hinder any VPlan work.

I think it also helps to decouple the VPlan native path and the legacy ILV 
slightly more.


https://reviews.llvm.org/D47477

Files:
  lib/Transforms/Vectorize/LoopVectorizationPlanner.h
  lib/Transforms/Vectorize/LoopVectorize.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47477.148902.patch
Type: text/x-patch
Size: 6389 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180529/be1f511d/attachment-0001.bin>


More information about the llvm-commits mailing list