summaryrefslogtreecommitdiff
path: root/compiler/optimizing/loop_optimization_test.cc
diff options
context:
space:
mode:
authorArtem Serov <artem.serov@linaro.org>2017-12-13 19:48:31 +0000
committerArtem Serov <artem.serov@linaro.org>2018-03-07 23:02:03 +0000
commit02eebcf01abc6df5ea861a5c688f5836f70abaf2 (patch)
treeaa8cd67bcd7b1576766da94bfa9107da8e9c34ba /compiler/optimizing/loop_optimization_test.cc
parentb95eb37a04874a57046fba7fc09a8b197691e9a2 (diff)
ART: Implement loop peeling/unrolling routines.
Implement loop peeling/unrolling routines using SuperblockCloner. Fixes bug b/74198030 and provides tests for it. Bug: b/74198030 Test: superblock_cloner_test.cc, loop_optimization_test.cc. Change-Id: Id0d9a91575c88f8e45186441b14e903b89b007dd
Diffstat (limited to 'compiler/optimizing/loop_optimization_test.cc')
-rw-r--r--compiler/optimizing/loop_optimization_test.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/optimizing/loop_optimization_test.cc b/compiler/optimizing/loop_optimization_test.cc
index db8368986c..c21bd65d97 100644
--- a/compiler/optimizing/loop_optimization_test.cc
+++ b/compiler/optimizing/loop_optimization_test.cc
@@ -227,11 +227,14 @@ TEST_F(LoopOptimizationTest, SimplifyLoopReoderPredecessors) {
graph_->ClearDominanceInformation();
graph_->BuildDominatorTree();
+ // BuildDominatorTree inserts a block beetween loop header and entry block.
+ EXPECT_EQ(header->GetPredecessors()[0]->GetSinglePredecessor(), entry_block_);
+
// Check that after optimizations in BuildDominatorTree()/SimplifyCFG() phi inputs
// are still mapped correctly to the block predecessors.
for (size_t i = 0, e = phi->InputCount(); i < e; i++) {
HInstruction* input = phi->InputAt(i);
- ASSERT_TRUE(input->GetBlock()->Dominates(header->GetPredecessors()[i]));
+ EXPECT_TRUE(input->GetBlock()->Dominates(header->GetPredecessors()[i]));
}
}