Skip to content

Commit af48fcc

Browse files
committed
[VPlan] Funnel
1 parent 407dbc1 commit af48fcc

File tree

5 files changed

+72
-69
lines changed

5 files changed

+72
-69
lines changed

llvm/lib/Transforms/Vectorize/VPlan.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3844,7 +3844,6 @@ class VPlan {
38443844
/// VPlan is destroyed.
38453845
SmallVector<VPBlockBase *> CreatedBlocks;
38463846

3847-
public:
38483847
/// Construct a VPlan with \p Entry to the plan and with \p ScalarHeader
38493848
/// wrapping the original header of the scalar loop.
38503849
VPlan(VPBasicBlock *Entry, VPIRBasicBlock *ScalarHeader)
@@ -3861,8 +3860,8 @@ class VPlan {
38613860
VPlan(Loop *L);
38623861

38633862
VPlan(BasicBlock *ScalarHeaderBB, VPValue *TC) {
3864-
setEntry(new VPBasicBlock("preheader"));
3865-
ScalarHeader = VPIRBasicBlock::fromBasicBlock(ScalarHeaderBB);
3863+
setEntry(createVPBasicBlock("preheader"));
3864+
ScalarHeader = createVPIRBasicBlock(ScalarHeaderBB);
38663865
TripCount = TC;
38673866
}
38683867

llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -357,12 +357,10 @@ void PlainCFGBuilder::buildPlainCFG() {
357357
BB2VPBB[TheLoop->getHeader()] = VectorHeaderVPBB;
358358
VectorHeaderVPBB->clearSuccessors();
359359
VectorLatchVPBB->clearPredecessors();
360-
if (TheLoop->getHeader() != TheLoop->getLoopLatch()) {
360+
if (TheLoop->getHeader() != TheLoop->getLoopLatch())
361361
BB2VPBB[TheLoop->getLoopLatch()] = VectorLatchVPBB;
362-
} else {
362+
else
363363
TheRegion->setExiting(VectorHeaderVPBB);
364-
delete VectorLatchVPBB;
365-
}
366364

367365
// 1. Scan the body of the loop in a topological order to visit each basic
368366
// block after having visited its predecessor basic blocks. Create a VPBB for

llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ TEST_F(VPDominatorTreeTest, DominanceNoRegionsTest) {
2929
// }
3030
VPlan &Plan = getPlan();
3131
VPBasicBlock *VPBB0 = Plan.getEntry();
32-
VPBasicBlock *VPBB1 = new VPBasicBlock("VPBB1");
33-
VPBasicBlock *VPBB2 = new VPBasicBlock("VPBB2");
34-
VPBasicBlock *VPBB3 = new VPBasicBlock("VPBB3");
35-
VPBasicBlock *VPBB4 = new VPBasicBlock("VPBB4");
32+
VPBasicBlock *VPBB1 = Plan.createVPBasicBlock("VPBB1");
33+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("VPBB2");
34+
VPBasicBlock *VPBB3 = Plan.createVPBasicBlock("VPBB3");
35+
VPBasicBlock *VPBB4 = Plan.createVPBasicBlock("VPBB4");
3636
VPRegionBlock *R1 = new VPRegionBlock(VPBB1, VPBB4);
3737
VPBB2->setParent(R1);
3838
VPBB3->setParent(R1);
@@ -96,10 +96,10 @@ TEST_F(VPDominatorTreeTest, DominanceRegionsTest) {
9696
//
9797
VPlan &Plan = getPlan();
9898
VPBasicBlock *VPBB0 = Plan.getEntry();
99-
VPBasicBlock *R1BB1 = new VPBasicBlock();
100-
VPBasicBlock *R1BB2 = new VPBasicBlock();
101-
VPBasicBlock *R1BB3 = new VPBasicBlock();
102-
VPBasicBlock *R1BB4 = new VPBasicBlock();
99+
VPBasicBlock *R1BB1 = Plan.createVPBasicBlock("");
100+
VPBasicBlock *R1BB2 = Plan.createVPBasicBlock("");
101+
VPBasicBlock *R1BB3 = Plan.createVPBasicBlock("");
102+
VPBasicBlock *R1BB4 = Plan.createVPBasicBlock("");
103103
VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB4, "R1");
104104
R1BB2->setParent(R1);
105105
R1BB3->setParent(R1);
@@ -111,8 +111,8 @@ TEST_F(VPDominatorTreeTest, DominanceRegionsTest) {
111111
// Cycle.
112112
VPBlockUtils::connectBlocks(R1BB3, R1BB3);
113113

114-
VPBasicBlock *R2BB1 = new VPBasicBlock();
115-
VPBasicBlock *R2BB2 = new VPBasicBlock();
114+
VPBasicBlock *R2BB1 = Plan.createVPBasicBlock("");
115+
VPBasicBlock *R2BB2 = Plan.createVPBasicBlock("");
116116
VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB2, "R2");
117117
VPBlockUtils::connectBlocks(R2BB1, R2BB2);
118118
VPBlockUtils::connectBlocks(R1, R2);
@@ -170,14 +170,14 @@ TEST_F(VPDominatorTreeTest, DominanceRegionsTest) {
170170
// VPBB2
171171
//
172172
VPlan &Plan = getPlan();
173-
VPBasicBlock *R1BB1 = new VPBasicBlock("R1BB1");
174-
VPBasicBlock *R1BB2 = new VPBasicBlock("R1BB2");
175-
VPBasicBlock *R1BB3 = new VPBasicBlock("R1BB3");
173+
VPBasicBlock *R1BB1 = Plan.createVPBasicBlock("R1BB1");
174+
VPBasicBlock *R1BB2 = Plan.createVPBasicBlock("R1BB2");
175+
VPBasicBlock *R1BB3 = Plan.createVPBasicBlock("R1BB3");
176176
VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB3, "R1");
177177

178-
VPBasicBlock *R2BB1 = new VPBasicBlock("R2BB1");
179-
VPBasicBlock *R2BB2 = new VPBasicBlock("R2BB2");
180-
VPBasicBlock *R2BB3 = new VPBasicBlock("R2BB3");
178+
VPBasicBlock *R2BB1 = Plan.createVPBasicBlock("");
179+
VPBasicBlock *R2BB2 = Plan.createVPBasicBlock("");
180+
VPBasicBlock *R2BB3 = Plan.createVPBasicBlock("");
181181
VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB3, "R2");
182182
R2BB2->setParent(R2);
183183
VPBlockUtils::connectBlocks(R2BB1, R2BB2);
@@ -193,7 +193,8 @@ TEST_F(VPDominatorTreeTest, DominanceRegionsTest) {
193193

194194
VPBasicBlock *VPBB1 = Plan.getEntry();
195195
VPBlockUtils::connectBlocks(VPBB1, R1);
196-
VPBasicBlock *VPBB2 = new VPBasicBlock("VPBB2");
196+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock(""
197+
"VPBB2");
197198
VPBlockUtils::connectBlocks(R1, VPBB2);
198199

199200
VPBlockUtils::connectBlocks(VPBB2, Plan.getScalarHeader());

llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

Lines changed: 41 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -245,9 +245,9 @@ TEST_F(VPBasicBlockTest, getPlan) {
245245
{
246246
VPlan &Plan = getPlan();
247247
VPBasicBlock *VPBB1 = Plan.getEntry();
248-
VPBasicBlock *VPBB2 = new VPBasicBlock();
249-
VPBasicBlock *VPBB3 = new VPBasicBlock();
250-
VPBasicBlock *VPBB4 = new VPBasicBlock();
248+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
249+
VPBasicBlock *VPBB3 = Plan.createVPBasicBlock("");
250+
VPBasicBlock *VPBB4 = Plan.createVPBasicBlock("");
251251

252252
// VPBB1
253253
// / \
@@ -270,8 +270,8 @@ TEST_F(VPBasicBlockTest, getPlan) {
270270
VPlan &Plan = getPlan();
271271
VPBasicBlock *VPBB1 = Plan.getEntry();
272272
// VPBasicBlock is the entry into the VPlan, followed by a region.
273-
VPBasicBlock *R1BB1 = new VPBasicBlock();
274-
VPBasicBlock *R1BB2 = new VPBasicBlock();
273+
VPBasicBlock *R1BB1 = Plan.createVPBasicBlock("");
274+
VPBasicBlock *R1BB2 = Plan.createVPBasicBlock("");
275275
VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB2, "R1");
276276
VPBlockUtils::connectBlocks(R1BB1, R1BB2);
277277

@@ -287,21 +287,21 @@ TEST_F(VPBasicBlockTest, getPlan) {
287287

288288
{
289289
VPlan &Plan = getPlan();
290-
VPBasicBlock *R1BB1 = new VPBasicBlock();
291-
VPBasicBlock *R1BB2 = new VPBasicBlock();
290+
VPBasicBlock *R1BB1 = Plan.createVPBasicBlock("");
291+
VPBasicBlock *R1BB2 = Plan.createVPBasicBlock("");
292292
VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB2, "R1");
293293
VPBlockUtils::connectBlocks(R1BB1, R1BB2);
294294

295-
VPBasicBlock *R2BB1 = new VPBasicBlock();
296-
VPBasicBlock *R2BB2 = new VPBasicBlock();
295+
VPBasicBlock *R2BB1 = Plan.createVPBasicBlock("");
296+
VPBasicBlock *R2BB2 = Plan.createVPBasicBlock("");
297297
VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB2, "R2");
298298
VPBlockUtils::connectBlocks(R2BB1, R2BB2);
299299

300300
VPBasicBlock *VPBB1 = Plan.getEntry();
301301
VPBlockUtils::connectBlocks(VPBB1, R1);
302302
VPBlockUtils::connectBlocks(VPBB1, R2);
303303

304-
VPBasicBlock *VPBB2 = new VPBasicBlock();
304+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
305305
VPBlockUtils::connectBlocks(R1, VPBB2);
306306
VPBlockUtils::connectBlocks(R2, VPBB2);
307307

@@ -329,9 +329,9 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
329329
//
330330
VPlan &Plan = getPlan();
331331
VPBasicBlock *VPBB1 = Plan.getEntry();
332-
VPBasicBlock *VPBB2 = new VPBasicBlock();
333-
VPBasicBlock *VPBB3 = new VPBasicBlock();
334-
VPBasicBlock *VPBB4 = new VPBasicBlock();
332+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
333+
VPBasicBlock *VPBB3 = Plan.createVPBasicBlock("");
334+
VPBasicBlock *VPBB4 = Plan.createVPBasicBlock("");
335335

336336
VPBlockUtils::connectBlocks(VPBB1, VPBB2);
337337
VPBlockUtils::connectBlocks(VPBB1, VPBB3);
@@ -368,10 +368,10 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
368368
//
369369
VPlan &Plan = getPlan();
370370
VPBasicBlock *VPBB0 = Plan.getEntry();
371-
VPBasicBlock *R1BB1 = new VPBasicBlock();
372-
VPBasicBlock *R1BB2 = new VPBasicBlock();
373-
VPBasicBlock *R1BB3 = new VPBasicBlock();
374-
VPBasicBlock *R1BB4 = new VPBasicBlock();
371+
VPBasicBlock *R1BB1 = Plan.createVPBasicBlock("");
372+
VPBasicBlock *R1BB2 = Plan.createVPBasicBlock("");
373+
VPBasicBlock *R1BB3 = Plan.createVPBasicBlock("");
374+
VPBasicBlock *R1BB4 = Plan.createVPBasicBlock("");
375375
VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB4, "R1");
376376
R1BB2->setParent(R1);
377377
R1BB3->setParent(R1);
@@ -383,8 +383,8 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
383383
// Cycle.
384384
VPBlockUtils::connectBlocks(R1BB3, R1BB3);
385385

386-
VPBasicBlock *R2BB1 = new VPBasicBlock();
387-
VPBasicBlock *R2BB2 = new VPBasicBlock();
386+
VPBasicBlock *R2BB1 = Plan.createVPBasicBlock("");
387+
VPBasicBlock *R2BB2 = Plan.createVPBasicBlock("");
388388
VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB2, "R2");
389389
VPBlockUtils::connectBlocks(R2BB1, R2BB2);
390390
VPBlockUtils::connectBlocks(R1, R2);
@@ -467,14 +467,17 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
467467
// VPBB2
468468
//
469469
VPlan &Plan = getPlan();
470-
VPBasicBlock *R1BB1 = new VPBasicBlock("R1BB1");
471-
VPBasicBlock *R1BB2 = new VPBasicBlock("R1BB2");
472-
VPBasicBlock *R1BB3 = new VPBasicBlock("R1BB3");
470+
VPBasicBlock *R1BB1 = Plan.createVPBasicBlock("R1BB1");
471+
VPBasicBlock *R1BB2 = Plan.createVPBasicBlock("R1BB2");
472+
VPBasicBlock *R1BB3 = Plan.createVPBasicBlock("R1BB3");
473473
VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB3, "R1");
474474

475-
VPBasicBlock *R2BB1 = new VPBasicBlock("R2BB1");
476-
VPBasicBlock *R2BB2 = new VPBasicBlock("R2BB2");
477-
VPBasicBlock *R2BB3 = new VPBasicBlock("R2BB3");
475+
VPBasicBlock *R2BB1 = Plan.createVPBasicBlock(""
476+
"R2BB1");
477+
VPBasicBlock *R2BB2 = Plan.createVPBasicBlock(""
478+
"R2BB2");
479+
VPBasicBlock *R2BB3 = Plan.createVPBasicBlock(""
480+
"R2BB3");
478481
VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB3, "R2");
479482
R2BB2->setParent(R2);
480483
VPBlockUtils::connectBlocks(R2BB1, R2BB2);
@@ -490,7 +493,8 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
490493

491494
VPBasicBlock *VPBB1 = Plan.getEntry();
492495
VPBlockUtils::connectBlocks(VPBB1, R1);
493-
VPBasicBlock *VPBB2 = new VPBasicBlock("VPBB2");
496+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock(""
497+
"VPBB2");
494498
VPBlockUtils::connectBlocks(R1, VPBB2);
495499

496500
// Depth-first.
@@ -538,8 +542,8 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
538542
// }
539543
//
540544
VPlan &Plan = getPlan();
541-
VPBasicBlock *R2BB1 = new VPBasicBlock("R2BB1");
542-
VPBasicBlock *R2BB2 = new VPBasicBlock("R2BB2");
545+
VPBasicBlock *R2BB1 = Plan.createVPBasicBlock("R2BB1");
546+
VPBasicBlock *R2BB2 = Plan.createVPBasicBlock("R2BB2");
543547
VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB2, "R2");
544548
VPBlockUtils::connectBlocks(R2BB1, R2BB2);
545549

@@ -592,10 +596,11 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
592596
// VPBB2
593597
//
594598
VPlan &Plan = getPlan();
595-
VPBasicBlock *R3BB1 = new VPBasicBlock("R3BB1");
599+
VPBasicBlock *R3BB1 = Plan.createVPBasicBlock("R3BB1");
596600
VPRegionBlock *R3 = new VPRegionBlock(R3BB1, R3BB1, "R3");
597601

598-
VPBasicBlock *R2BB1 = new VPBasicBlock("R2BB1");
602+
VPBasicBlock *R2BB1 = Plan.createVPBasicBlock(""
603+
"R2BB1");
599604
VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R3, "R2");
600605
R3->setParent(R2);
601606
VPBlockUtils::connectBlocks(R2BB1, R3);
@@ -604,7 +609,7 @@ TEST_F(VPBasicBlockTest, TraversingIteratorTest) {
604609
R2->setParent(R1);
605610

606611
VPBasicBlock *VPBB1 = Plan.getEntry();
607-
VPBasicBlock *VPBB2 = new VPBasicBlock("VPBB2");
612+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("VPBB2");
608613
VPBlockUtils::connectBlocks(VPBB1, R1);
609614
VPBlockUtils::connectBlocks(R1, VPBB2);
610615

@@ -674,15 +679,15 @@ TEST_F(VPBasicBlockTest, print) {
674679
VPInstruction *I2 = new VPInstruction(Instruction::Sub, {I1});
675680
VPInstruction *I3 = new VPInstruction(Instruction::Br, {I1, I2});
676681

677-
VPBasicBlock *VPBB1 = new VPBasicBlock();
682+
VPBasicBlock *VPBB1 = Plan.createVPBasicBlock("");
678683
VPBB1->appendRecipe(I1);
679684
VPBB1->appendRecipe(I2);
680685
VPBB1->appendRecipe(I3);
681686
VPBB1->setName("bb1");
682687

683688
VPInstruction *I4 = new VPInstruction(Instruction::Mul, {I2, I1});
684689
VPInstruction *I5 = new VPInstruction(Instruction::Ret, {I4});
685-
VPBasicBlock *VPBB2 = new VPBasicBlock();
690+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
686691
VPBB2->appendRecipe(I4);
687692
VPBB2->appendRecipe(I5);
688693
VPBB2->setName("bb2");
@@ -783,7 +788,7 @@ TEST_F(VPBasicBlockTest, printPlanWithVFsAndUFs) {
783788
VPBB0->appendRecipe(TC);
784789

785790
VPInstruction *I1 = new VPInstruction(Instruction::Add, {});
786-
VPBasicBlock *VPBB1 = new VPBasicBlock();
791+
VPBasicBlock *VPBB1 = Plan.createVPBasicBlock("");
787792
VPBB1->appendRecipe(I1);
788793
VPBB1->setName("bb1");
789794

@@ -1238,7 +1243,7 @@ TEST_F(VPRecipeTest, MayHaveSideEffectsAndMayReadWriteMemory) {
12381243
TEST_F(VPRecipeTest, dumpRecipeInPlan) {
12391244
VPlan &Plan = getPlan();
12401245
VPBasicBlock *VPBB0 = Plan.getEntry();
1241-
VPBasicBlock *VPBB1 = new VPBasicBlock();
1246+
VPBasicBlock *VPBB1 = Plan.createVPBasicBlock("");
12421247
VPBlockUtils::connectBlocks(VPBB1, Plan.getScalarHeader());
12431248
VPBlockUtils::connectBlocks(VPBB0, VPBB1);
12441249

@@ -1307,7 +1312,7 @@ TEST_F(VPRecipeTest, dumpRecipeInPlan) {
13071312
TEST_F(VPRecipeTest, dumpRecipeUnnamedVPValuesInPlan) {
13081313
VPlan &Plan = getPlan();
13091314
VPBasicBlock *VPBB0 = Plan.getEntry();
1310-
VPBasicBlock *VPBB1 = new VPBasicBlock();
1315+
VPBasicBlock *VPBB1 = Plan.createVPBasicBlock("");
13111316
VPBlockUtils::connectBlocks(VPBB1, Plan.getScalarHeader());
13121317
VPBlockUtils::connectBlocks(VPBB0, VPBB1);
13131318

llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ TEST_F(VPVerifierTest, VPInstructionUseBeforeDefSameBB) {
2727
VPBB1->appendRecipe(UseI);
2828
VPBB1->appendRecipe(DefI);
2929

30-
VPBasicBlock *VPBB2 = new VPBasicBlock();
30+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
3131
VPRegionBlock *R1 = new VPRegionBlock(VPBB2, VPBB2, "R1");
3232
VPBlockUtils::connectBlocks(VPBB1, R1);
3333
VPBlockUtils::connectBlocks(R1, Plan.getScalarHeader());
@@ -51,7 +51,7 @@ TEST_F(VPVerifierTest, VPInstructionUseBeforeDefDifferentBB) {
5151
new VPInstruction(VPInstruction::BranchOnCond, {CanIV});
5252

5353
VPBasicBlock *VPBB1 = Plan.getEntry();
54-
VPBasicBlock *VPBB2 = new VPBasicBlock();
54+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
5555

5656
VPBB1->appendRecipe(UseI);
5757
VPBB2->appendRecipe(CanIV);
@@ -85,9 +85,9 @@ TEST_F(VPVerifierTest, VPBlendUseBeforeDefDifferentBB) {
8585

8686
VPlan &Plan = getPlan();
8787
VPBasicBlock *VPBB1 = Plan.getEntry();
88-
VPBasicBlock *VPBB2 = new VPBasicBlock();
89-
VPBasicBlock *VPBB3 = new VPBasicBlock();
90-
VPBasicBlock *VPBB4 = new VPBasicBlock();
88+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
89+
VPBasicBlock *VPBB3 = Plan.createVPBasicBlock("");
90+
VPBasicBlock *VPBB4 = Plan.createVPBasicBlock("");
9191

9292
VPBB1->appendRecipe(I1);
9393
VPBB2->appendRecipe(CanIV);
@@ -125,7 +125,7 @@ TEST_F(VPVerifierTest, DuplicateSuccessorsOutsideRegion) {
125125

126126
VPlan &Plan = getPlan();
127127
VPBasicBlock *VPBB1 = Plan.getEntry();
128-
VPBasicBlock *VPBB2 = new VPBasicBlock();
128+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
129129

130130
VPBB1->appendRecipe(I1);
131131
VPBB1->appendRecipe(BranchOnCond2);
@@ -158,8 +158,8 @@ TEST_F(VPVerifierTest, DuplicateSuccessorsInsideRegion) {
158158

159159
VPlan &Plan = getPlan();
160160
VPBasicBlock *VPBB1 = Plan.getEntry();
161-
VPBasicBlock *VPBB2 = new VPBasicBlock();
162-
VPBasicBlock *VPBB3 = new VPBasicBlock();
161+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
162+
VPBasicBlock *VPBB3 = Plan.createVPBasicBlock("");
163163

164164
VPBB1->appendRecipe(I1);
165165
VPBB2->appendRecipe(CanIV);
@@ -187,7 +187,7 @@ TEST_F(VPVerifierTest, DuplicateSuccessorsInsideRegion) {
187187
TEST_F(VPVerifierTest, BlockOutsideRegionWithParent) {
188188
VPlan &Plan = getPlan();
189189
VPBasicBlock *VPBB1 = Plan.getEntry();
190-
VPBasicBlock *VPBB2 = new VPBasicBlock();
190+
VPBasicBlock *VPBB2 = Plan.createVPBasicBlock("");
191191

192192
VPInstruction *DefI = new VPInstruction(Instruction::Add, {});
193193
VPInstruction *BranchOnCond =

0 commit comments

Comments
 (0)