diff options
author | 2024-11-18 15:51:22 +0000 | |
---|---|---|
committer | 2025-01-03 07:55:11 -0800 | |
commit | 8842f9debe16fd1251cd6dbe16fd8c168098c61d (patch) | |
tree | 1c0e3df6cff6dbf1a6e24302c7ffe8a4739ee68a /compiler/optimizing/superblock_cloner_test.cc | |
parent | 970075bedbf0599cfd1ccea388d654cd68576608 (diff) |
Remove superblock cloner's DoVersioning
It was added back in 2020 (r.android.com/1206763) but never used.
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b
Change-Id: Iace09f956bd520732588b3623722b74f6559a1fe
Diffstat (limited to 'compiler/optimizing/superblock_cloner_test.cc')
-rw-r--r-- | compiler/optimizing/superblock_cloner_test.cc | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/compiler/optimizing/superblock_cloner_test.cc b/compiler/optimizing/superblock_cloner_test.cc index 5190dae033..1bef8a4e9d 100644 --- a/compiler/optimizing/superblock_cloner_test.cc +++ b/compiler/optimizing/superblock_cloner_test.cc @@ -301,52 +301,6 @@ TEST_F(SuperblockClonerTest, LoopUnrolling) { EXPECT_EQ(loop_info->GetBackEdges()[0], bb_map.Get(loop_body)); } -// Tests SuperblockCloner for loop versioning case. -// -// See an ASCII graphics example near LoopClonerHelper::DoVersioning. -TEST_F(SuperblockClonerTest, LoopVersioning) { - HBasicBlock* return_block = InitGraphAndParameters(); - auto [preheader, header, loop_body] = CreateWhileLoop(return_block); - CreateBasicLoopDataFlow(header, loop_body); - graph_->BuildDominatorTree(); - EXPECT_TRUE(CheckGraph()); - - HBasicBlockMap bb_map( - std::less<HBasicBlock*>(), graph_->GetAllocator()->Adapter(kArenaAllocSuperblockCloner)); - HInstructionMap hir_map( - std::less<HInstruction*>(), graph_->GetAllocator()->Adapter(kArenaAllocSuperblockCloner)); - - HLoopInformation* loop_info = header->GetLoopInformation(); - HBasicBlock* original_preheader = loop_info->GetPreHeader(); - LoopClonerHelper helper(loop_info, &bb_map, &hir_map, /* induction_range= */ nullptr); - EXPECT_TRUE(helper.IsLoopClonable()); - HBasicBlock* new_header = helper.DoVersioning(); - EXPECT_EQ(header, new_header); - - EXPECT_TRUE(CheckGraph()); - - HBasicBlock* second_header = bb_map.Get(header); - HBasicBlock* second_body = bb_map.Get(loop_body); - HLoopInformation* second_loop_info = second_header->GetLoopInformation(); - - // Check loop body successors. - EXPECT_EQ(loop_body->GetSingleSuccessor(), header); - EXPECT_EQ(second_body->GetSingleSuccessor(), second_header); - - // Check loop structure. - EXPECT_EQ(loop_info, header->GetLoopInformation()); - EXPECT_EQ(loop_info->GetHeader(), header); - EXPECT_EQ(second_loop_info->GetHeader(), second_header); - - EXPECT_EQ(loop_info->GetBackEdges().size(), 1u); - EXPECT_EQ(second_loop_info->GetBackEdges().size(), 1u); - - EXPECT_EQ(loop_info->GetBackEdges()[0], loop_body); - EXPECT_EQ(second_loop_info->GetBackEdges()[0], second_body); - - EXPECT_EQ(original_preheader->GetSuccessors().size(), 2u); -} - // Checks that loop unrolling works fine for a loop with multiple back edges. Tests that after // the transformation the loop has a single preheader. TEST_F(SuperblockClonerTest, LoopPeelingMultipleBackEdges) { |