[PATCH] D48814: [VPlan] Introduce condition bit in VPBlockBase.
Diego Caballero via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 1 22:14:28 PDT 2018
dcaballe created this revision.
dcaballe added reviewers: fhahn, rengolin, mkuper, hfinkel, mssimpso.
Herald added subscribers: llvm-commits, rogfer01, rkruppe, tschuett, bollu.
Context: Patch Series #1 for outer loop vectorization support in LV
using VPlan. (RFC: http://lists.llvm.org/pipermail/llvm-dev/2017-December/119523.html).
This patch introduces a VPValue in VPBlockBase to represent the condition
bit that is used as successor selector when a block has multiple successors.
This information wasn't necessary until now, when we are about to introduce
outer loop vectorization support in VPlan code gen.
Representing the condition bit as a field in VPBlockBase fits well with the VPlan recipe-based
code currently used in the inner loop vectorizer path and its decision about not representing
branches at VPlan instruction level. It also aligns well with our current internal implementation,
which will allow us to upstream patches quicker. However, we think that the explicit representation
of branches at VPlan instruction level will better fit with the VPInstruction model and its DU graph.
For that reason, we are planning to change the proposed condition bit representation (and lack of
branches) in the short term, so this patch should be seen as a stepping stone towards that direction.
Repository:
rL LLVM
https://reviews.llvm.org/D48814
Files:
lib/Transforms/Vectorize/LoopVectorize.cpp
lib/Transforms/Vectorize/VPlan.cpp
lib/Transforms/Vectorize/VPlan.h
lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
lib/Transforms/Vectorize/VPlanVerifier.cpp
unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48814.153665.patch
Type: text/x-patch
Size: 10115 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180702/fc3aed42/attachment.bin>
More information about the llvm-commits
mailing list