[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