diff options
author | Diego Caballero <diego.caballero@intel.com> | 2018-07-09 15:57:09 +0000 |
---|---|---|
committer | Diego Caballero <diego.caballero@intel.com> | 2018-07-09 15:57:09 +0000 |
commit | d09530144a5412a01d222a77257ab2be12d977f1 (patch) | |
tree | 3cb9a6d79bdda57b84a0fa940a5507a1b5682ab4 /llvm/lib/Transforms/Vectorize/VPlan.cpp | |
parent | 48db19e95a711d0a0e0f7ed835f9bfcb2c1b4892 (diff) | |
download | bcm5719-llvm-d09530144a5412a01d222a77257ab2be12d977f1.tar.gz bcm5719-llvm-d09530144a5412a01d222a77257ab2be12d977f1.zip |
[VPlan][LV] Introduce condition bit in VPBlockBase
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.
Reviewers: fhahn, rengolin, mkuper, hfinkel, mssimpso
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D48814
llvm-svn: 336554
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/VPlan.cpp')
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VPlan.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/VPlan.cpp b/llvm/lib/Transforms/Vectorize/VPlan.cpp index 1f58bed5257..f7b07b722bb 100644 --- a/llvm/lib/Transforms/Vectorize/VPlan.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlan.cpp @@ -457,6 +457,18 @@ void VPlanPrinter::dumpBasicBlock(const VPBasicBlock *BasicBlock) { bumpIndent(1); for (const VPRecipeBase &Recipe : *BasicBlock) Recipe.print(OS, Indent); + + // Dump the condition bit. + const VPValue *CBV = BasicBlock->getCondBit(); + if (CBV) { + OS << " +\n" << Indent << " \"CondBit: "; + if (const VPInstruction *CBI = dyn_cast<VPInstruction>(CBV)) { + CBI->printAsOperand(OS); + OS << " (" << DOT::EscapeString(CBI->getParent()->getName()) << ")\\l\""; + } else + CBV->printAsOperand(OS); + } + bumpIndent(-2); OS << "\n" << Indent << "]\n"; dumpEdges(BasicBlock); |