diff options
Diffstat (limited to 'unittests/Transforms/Vectorize/VPlanTestBase.h')
-rw-r--r-- | unittests/Transforms/Vectorize/VPlanTestBase.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/unittests/Transforms/Vectorize/VPlanTestBase.h b/unittests/Transforms/Vectorize/VPlanTestBase.h index da3b39f4df01..0fc4a9a21c88 100644 --- a/unittests/Transforms/Vectorize/VPlanTestBase.h +++ b/unittests/Transforms/Vectorize/VPlanTestBase.h @@ -50,8 +50,19 @@ protected: doAnalysis(*LoopHeader->getParent()); auto Plan = llvm::make_unique<VPlan>(); - VPlanHCFGBuilder HCFGBuilder(LI->getLoopFor(LoopHeader), LI.get()); - HCFGBuilder.buildHierarchicalCFG(*Plan.get()); + VPlanHCFGBuilder HCFGBuilder(LI->getLoopFor(LoopHeader), LI.get(), *Plan); + HCFGBuilder.buildHierarchicalCFG(); + return Plan; + } + + /// Build the VPlan plain CFG for the loop starting from \p LoopHeader. + VPlanPtr buildPlainCFG(BasicBlock *LoopHeader) { + doAnalysis(*LoopHeader->getParent()); + + auto Plan = llvm::make_unique<VPlan>(); + VPlanHCFGBuilder HCFGBuilder(LI->getLoopFor(LoopHeader), LI.get(), *Plan); + VPRegionBlock *TopRegion = HCFGBuilder.buildPlainCFG(); + Plan->setEntry(TopRegion); return Plan; } }; |