[PATCH] D46826: [VPlan] Add VPlan based sinkInstructions utility.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 14 03:59:05 PDT 2018


fhahn created this revision.
fhahn added reviewers: hsaito, dcaballe, rengolin.
Herald added subscribers: tschuett, bollu, mgorny.

This patch introduces a sinkInstructions utility that sinks instructions
in a VPlan based on an Instruction -> Instruction mapping, as returned
by LoopVectorizationLegality::getSinkAfter. It also adds a
LoopvectorizationPlanner.cpp, for functions that do not rely on stuff
defined in LoopVectorize.cpp, to move to a more modular structure.

Once we migrated getSinkAfter to operate on a VPlan, we should change
this to not rely on the underlying values. I am not sure if it would
make sense to include it in the VPlan creation through the builder?


https://reviews.llvm.org/D46826

Files:
  lib/Transforms/Vectorize/CMakeLists.txt
  lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
  lib/Transforms/Vectorize/LoopVectorizationPlanner.h
  lib/Transforms/Vectorize/VPlanValue.h
  unittests/Transforms/Vectorize/VPlanTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46826.146576.patch
Type: text/x-patch
Size: 6398 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180514/608e804c/attachment-0001.bin>


More information about the llvm-commits mailing list