diff options
Diffstat (limited to 'compiler/optimizing/graph_test.cc')
-rw-r--r-- | compiler/optimizing/graph_test.cc | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/compiler/optimizing/graph_test.cc b/compiler/optimizing/graph_test.cc index 4742e4d073..50398b4790 100644 --- a/compiler/optimizing/graph_test.cc +++ b/compiler/optimizing/graph_test.cc @@ -28,8 +28,7 @@ namespace art { static HBasicBlock* createIfBlock(HGraph* graph, ArenaAllocator* allocator) { HBasicBlock* if_block = new (allocator) HBasicBlock(graph); graph->AddBlock(if_block); - HInstruction* instr = new (allocator) HIntConstant(4); - if_block->AddInstruction(instr); + HInstruction* instr = graph->GetIntConstant(4); HInstruction* equal = new (allocator) HEqual(instr, instr); if_block->AddInstruction(equal); instr = new (allocator) HIf(equal); @@ -45,6 +44,12 @@ static HBasicBlock* createGotoBlock(HGraph* graph, ArenaAllocator* allocator) { return block; } +static HBasicBlock* createEntryBlock(HGraph* graph, ArenaAllocator* allocator) { + HBasicBlock* block = createGotoBlock(graph, allocator); + graph->SetEntryBlock(block); + return block; +} + static HBasicBlock* createReturnBlock(HGraph* graph, ArenaAllocator* allocator) { HBasicBlock* block = new (allocator) HBasicBlock(graph); graph->AddBlock(block); @@ -69,7 +74,7 @@ TEST(GraphTest, IfSuccessorSimpleJoinBlock1) { ArenaAllocator allocator(&pool); HGraph* graph = new (&allocator) HGraph(&allocator); - HBasicBlock* entry_block = createGotoBlock(graph, &allocator); + HBasicBlock* entry_block = createEntryBlock(graph, &allocator); HBasicBlock* if_block = createIfBlock(graph, &allocator); HBasicBlock* if_true = createGotoBlock(graph, &allocator); HBasicBlock* return_block = createReturnBlock(graph, &allocator); @@ -104,7 +109,7 @@ TEST(GraphTest, IfSuccessorSimpleJoinBlock2) { ArenaAllocator allocator(&pool); HGraph* graph = new (&allocator) HGraph(&allocator); - HBasicBlock* entry_block = createGotoBlock(graph, &allocator); + HBasicBlock* entry_block = createEntryBlock(graph, &allocator); HBasicBlock* if_block = createIfBlock(graph, &allocator); HBasicBlock* if_false = createGotoBlock(graph, &allocator); HBasicBlock* return_block = createReturnBlock(graph, &allocator); @@ -139,12 +144,11 @@ TEST(GraphTest, IfSuccessorMultipleBackEdges1) { ArenaAllocator allocator(&pool); HGraph* graph = new (&allocator) HGraph(&allocator); - HBasicBlock* entry_block = createGotoBlock(graph, &allocator); + HBasicBlock* entry_block = createEntryBlock(graph, &allocator); HBasicBlock* if_block = createIfBlock(graph, &allocator); HBasicBlock* return_block = createReturnBlock(graph, &allocator); HBasicBlock* exit_block = createExitBlock(graph, &allocator); - graph->SetEntryBlock(entry_block); entry_block->AddSuccessor(if_block); if_block->AddSuccessor(if_block); if_block->AddSuccessor(return_block); @@ -175,12 +179,11 @@ TEST(GraphTest, IfSuccessorMultipleBackEdges2) { ArenaAllocator allocator(&pool); HGraph* graph = new (&allocator) HGraph(&allocator); - HBasicBlock* entry_block = createGotoBlock(graph, &allocator); + HBasicBlock* entry_block = createEntryBlock(graph, &allocator); HBasicBlock* if_block = createIfBlock(graph, &allocator); HBasicBlock* return_block = createReturnBlock(graph, &allocator); HBasicBlock* exit_block = createExitBlock(graph, &allocator); - graph->SetEntryBlock(entry_block); entry_block->AddSuccessor(if_block); if_block->AddSuccessor(return_block); if_block->AddSuccessor(if_block); @@ -211,13 +214,12 @@ TEST(GraphTest, IfSuccessorMultiplePreHeaders1) { ArenaAllocator allocator(&pool); HGraph* graph = new (&allocator) HGraph(&allocator); - HBasicBlock* entry_block = createGotoBlock(graph, &allocator); + HBasicBlock* entry_block = createEntryBlock(graph, &allocator); HBasicBlock* first_if_block = createIfBlock(graph, &allocator); HBasicBlock* if_block = createIfBlock(graph, &allocator); HBasicBlock* loop_block = createGotoBlock(graph, &allocator); HBasicBlock* return_block = createReturnBlock(graph, &allocator); - graph->SetEntryBlock(entry_block); entry_block->AddSuccessor(first_if_block); first_if_block->AddSuccessor(if_block); first_if_block->AddSuccessor(loop_block); @@ -251,13 +253,12 @@ TEST(GraphTest, IfSuccessorMultiplePreHeaders2) { ArenaAllocator allocator(&pool); HGraph* graph = new (&allocator) HGraph(&allocator); - HBasicBlock* entry_block = createGotoBlock(graph, &allocator); + HBasicBlock* entry_block = createEntryBlock(graph, &allocator); HBasicBlock* first_if_block = createIfBlock(graph, &allocator); HBasicBlock* if_block = createIfBlock(graph, &allocator); HBasicBlock* loop_block = createGotoBlock(graph, &allocator); HBasicBlock* return_block = createReturnBlock(graph, &allocator); - graph->SetEntryBlock(entry_block); entry_block->AddSuccessor(first_if_block); first_if_block->AddSuccessor(if_block); first_if_block->AddSuccessor(loop_block); |