99
1010#include " ../lib/Transforms/Vectorize/VPlan.h"
1111#include " ../lib/Transforms/Vectorize/VPlanDominatorTree.h"
12+ #include " VPlanTestBase.h"
1213#include " gtest/gtest.h"
1314
1415namespace llvm {
1516namespace {
1617
17- TEST (VPDominatorTreeTest, DominanceNoRegionsTest) {
18+ using VPDominatorTreeTest = VPlanTestBase;
19+
20+ TEST_F (VPDominatorTreeTest, DominanceNoRegionsTest) {
1821 // VPBB0
1922 // |
2023 // R1 {
@@ -24,8 +27,8 @@ TEST(VPDominatorTreeTest, DominanceNoRegionsTest) {
2427 // \ /
2528 // VPBB4
2629 // }
27- VPBasicBlock *VPPH = new VPBasicBlock ( " ph " );
28- VPBasicBlock *VPBB0 = new VPBasicBlock ( " VPBB0 " );
30+ VPlan &Plan = getPlan ( );
31+ VPBasicBlock *VPBB0 = Plan. getEntry ( );
2932 VPBasicBlock *VPBB1 = new VPBasicBlock (" VPBB1" );
3033 VPBasicBlock *VPBB2 = new VPBasicBlock (" VPBB2" );
3134 VPBasicBlock *VPBB3 = new VPBasicBlock (" VPBB3" );
@@ -40,12 +43,7 @@ TEST(VPDominatorTreeTest, DominanceNoRegionsTest) {
4043 VPBlockUtils::connectBlocks (VPBB2, VPBB4);
4144 VPBlockUtils::connectBlocks (VPBB3, VPBB4);
4245
43- LLVMContext C;
44- auto *ScalarHeader = BasicBlock::Create (C, " " );
45- VPIRBasicBlock *ScalarHeaderVPBB = new VPIRBasicBlock (ScalarHeader);
46- VPBlockUtils::connectBlocks (R1, ScalarHeaderVPBB);
47- VPBlockUtils::connectBlocks (VPPH, VPBB0);
48- VPlan Plan (VPPH, ScalarHeaderVPBB);
46+ VPBlockUtils::connectBlocks (R1, Plan.getScalarHeader ());
4947
5048 VPDominatorTree VPDT;
5149 VPDT.recalculate (Plan);
@@ -62,7 +60,6 @@ TEST(VPDominatorTreeTest, DominanceNoRegionsTest) {
6260 EXPECT_EQ (VPDT.findNearestCommonDominator (VPBB2, VPBB3), VPBB1);
6361 EXPECT_EQ (VPDT.findNearestCommonDominator (VPBB2, VPBB4), VPBB1);
6462 EXPECT_EQ (VPDT.findNearestCommonDominator (VPBB4, VPBB4), VPBB4);
65- delete ScalarHeader;
6663}
6764
6865static void
@@ -76,9 +73,7 @@ checkDomChildren(VPDominatorTree &VPDT, VPBlockBase *Src,
7673 EXPECT_EQ (Children, ExpectedNodes);
7774}
7875
79- TEST (VPDominatorTreeTest, DominanceRegionsTest) {
80- LLVMContext C;
81- auto *ScalarHeader = BasicBlock::Create (C, " " );
76+ TEST_F (VPDominatorTreeTest, DominanceRegionsTest) {
8277 {
8378 // 2 consecutive regions.
8479 // VPBB0
@@ -99,8 +94,8 @@ TEST(VPDominatorTreeTest, DominanceRegionsTest) {
9994 // R2BB2
10095 // }
10196 //
102- VPBasicBlock *VPPH = new VPBasicBlock ( " ph " );
103- VPBasicBlock *VPBB0 = new VPBasicBlock ( " VPBB0 " );
97+ VPlan &Plan = getPlan ( );
98+ VPBasicBlock *VPBB0 = Plan. getEntry ( );
10499 VPBasicBlock *R1BB1 = new VPBasicBlock ();
105100 VPBasicBlock *R1BB2 = new VPBasicBlock ();
106101 VPBasicBlock *R1BB3 = new VPBasicBlock ();
@@ -122,10 +117,7 @@ TEST(VPDominatorTreeTest, DominanceRegionsTest) {
122117 VPBlockUtils::connectBlocks (R2BB1, R2BB2);
123118 VPBlockUtils::connectBlocks (R1, R2);
124119
125- VPIRBasicBlock *ScalarHeaderVPBB = new VPIRBasicBlock (ScalarHeader);
126- VPBlockUtils::connectBlocks (R2, ScalarHeaderVPBB);
127- VPBlockUtils::connectBlocks (VPPH, VPBB0);
128- VPlan Plan (VPPH, ScalarHeaderVPBB);
120+ VPBlockUtils::connectBlocks (R2, Plan.getScalarHeader ());
129121 VPDominatorTree VPDT;
130122 VPDT.recalculate (Plan);
131123
@@ -177,7 +169,7 @@ TEST(VPDominatorTreeTest, DominanceRegionsTest) {
177169 // |
178170 // VPBB2
179171 //
180- VPBasicBlock *VPPH = new VPBasicBlock ( " ph " );
172+ VPlan &Plan = getPlan ( );
181173 VPBasicBlock *R1BB1 = new VPBasicBlock (" R1BB1" );
182174 VPBasicBlock *R1BB2 = new VPBasicBlock (" R1BB2" );
183175 VPBasicBlock *R1BB3 = new VPBasicBlock (" R1BB3" );
@@ -199,15 +191,12 @@ TEST(VPDominatorTreeTest, DominanceRegionsTest) {
199191 VPBlockUtils::connectBlocks (R1BB2, R1BB3);
200192 VPBlockUtils::connectBlocks (R2, R1BB3);
201193
202- VPBasicBlock *VPBB1 = new VPBasicBlock ( " VPBB1 " );
194+ VPBasicBlock *VPBB1 = Plan. getEntry ( );
203195 VPBlockUtils::connectBlocks (VPBB1, R1);
204196 VPBasicBlock *VPBB2 = new VPBasicBlock (" VPBB2" );
205197 VPBlockUtils::connectBlocks (R1, VPBB2);
206198
207- VPIRBasicBlock *ScalarHeaderVPBB = new VPIRBasicBlock (ScalarHeader);
208- VPBlockUtils::connectBlocks (VPBB2, ScalarHeaderVPBB);
209- VPBlockUtils::connectBlocks (VPPH, VPBB1);
210- VPlan Plan (VPPH, ScalarHeaderVPBB);
199+ VPBlockUtils::connectBlocks (VPBB2, Plan.getScalarHeader ());
211200 VPDominatorTree VPDT;
212201 VPDT.recalculate (Plan);
213202
@@ -220,9 +209,8 @@ TEST(VPDominatorTreeTest, DominanceRegionsTest) {
220209 checkDomChildren (VPDT, R2BB2, {R2BB3});
221210 checkDomChildren (VPDT, R2BB3, {});
222211 checkDomChildren (VPDT, R1BB3, {VPBB2});
223- checkDomChildren (VPDT, VPBB2, {ScalarHeaderVPBB });
212+ checkDomChildren (VPDT, VPBB2, {Plan. getScalarHeader () });
224213 }
225- delete ScalarHeader;
226214}
227215
228216} // namespace
0 commit comments