/art/compiler/optimizing/ |
H A D | find_loops_test.cc | 31 HGraph* graph = CreateGraph(allocator); local 32 HGraphBuilder builder(graph); 35 graph->BuildDominatorTree(); 36 graph->AnalyzeNaturalLoops(); 37 return graph; 48 HGraph* graph = TestCode(data, &allocator); local 49 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) { 50 ASSERT_EQ(graph->GetBlocks().Get(i)->GetLoopInformation(), nullptr); 61 HGraph* graph = TestCode(data, &allocator); local 62 for (size_t i = 0, e = graph 77 HGraph* graph = TestCode(data, &allocator); local 94 HGraph* graph = TestCode(data, &allocator); local 109 HGraph* graph = TestCode(data, &allocator); local 115 TestBlock(HGraph* graph, int block_id, bool is_loop_header, int parent_loop_header_id, const int* blocks_in_loop = nullptr, size_t number_of_blocks = 0) argument 155 HGraph* graph = TestCode(data, &allocator); local 183 HGraph* graph = TestCode(data, &allocator); local 208 HGraph* graph = TestCode(data, &allocator); local 234 HGraph* graph = TestCode(data, &allocator); local 260 HGraph* graph = TestCode(data, &allocator); local 285 HGraph* graph = TestCode(data, &allocator); local 316 HGraph* graph = TestCode(data, &allocator); local 346 HGraph* graph = TestCode(data, &allocator); local 361 HGraph* graph = TestCode(data, &allocator); local [all...] |
H A D | side_effects_analysis.h | 27 explicit SideEffectsAnalysis(HGraph* graph) argument 28 : HOptimization(graph, true, kSideEffectsAnalysisPassName), 29 graph_(graph), 30 block_effects_(graph->GetArena(), graph->GetBlocks().Size(), SideEffects::None()), 31 loop_effects_(graph->GetArena(), graph->GetBlocks().Size(), SideEffects::None()) {}
|
H A D | bounds_check_elimination_test.cc | 30 static void RunSimplifierAndGvn(HGraph* graph) { argument 31 InstructionSimplifier simplify(graph); 33 SideEffectsAnalysis side_effects(graph); 35 GVNOptimization(graph, side_effects).Run(); 45 HGraph* graph = CreateGraph(&allocator); local 46 graph->SetHasBoundsChecks(true); 48 HBasicBlock* entry = new (&allocator) HBasicBlock(graph); 49 graph->AddBlock(entry); 50 graph->SetEntryBlock(entry); 58 HInstruction* constant_1 = graph 150 HGraph* graph = CreateGraph(&allocator); local 222 HGraph* graph = CreateGraph(&allocator); local 294 HGraph* graph = CreateGraph(&allocator); local 367 HGraph* graph = CreateGraph(allocator); local 441 HGraph* graph = BuildSSAGraph1(&allocator, &bounds_check, 0, 1); local 502 HGraph* graph = CreateGraph(allocator); local 578 HGraph* graph = BuildSSAGraph2(&allocator, &bounds_check, 0); local 630 HGraph* graph = CreateGraph(allocator); local 701 HGraph* graph = BuildSSAGraph3(&allocator, &bounds_check, 0, 1, kCondGE); local 745 HGraph* graph = CreateGraph(allocator); local 823 HGraph* graph = BuildSSAGraph4(&allocator, &bounds_check, 0); local 865 HGraph* graph = CreateGraph(&allocator); local [all...] |
H A D | ssa_phi_elimination.h | 26 * Optimization phase that removes dead phis from the graph. Dead phis are unused 31 explicit SsaDeadPhiElimination(HGraph* graph) argument 32 : HOptimization(graph, true, kSsaDeadPhiEliminationPassName), 33 worklist_(graph->GetArena(), kDefaultWorklistSize) {} 58 explicit SsaRedundantPhiElimination(HGraph* graph) argument 59 : HOptimization(graph, true, kSsaRedundantPhiEliminationPassName), 60 worklist_(graph->GetArena(), kDefaultWorklistSize) {}
|
H A D | graph_checker_test.cc | 25 * Create a simple control-flow graph composed of two blocks: 33 HGraph* graph = CreateGraph(allocator); local 34 HBasicBlock* entry_block = new (allocator) HBasicBlock(graph); 36 graph->AddBlock(entry_block); 37 graph->SetEntryBlock(entry_block); 38 HBasicBlock* exit_block = new (allocator) HBasicBlock(graph); 40 graph->AddBlock(exit_block); 41 graph->SetExitBlock(exit_block); 43 return graph; 50 HGraph* graph local 61 HGraph* graph = CreateCFG(&allocator, data); local 114 HGraph* graph = CreateSimpleCFG(&allocator); local 132 HGraph* graph = CreateSimpleCFG(&allocator); local [all...] |
H A D | gvn_test.cc | 32 HGraph* graph = CreateGraph(&allocator); local 33 HBasicBlock* entry = new (&allocator) HBasicBlock(graph); 34 graph->AddBlock(entry); 35 graph->SetEntryBlock(entry); 39 HBasicBlock* block = new (&allocator) HBasicBlock(graph); 40 graph->AddBlock(block); 67 graph->TryBuildingSsa(); 68 SideEffectsAnalysis side_effects(graph); 70 GVNOptimization(graph, side_effects).Run(); 81 HGraph* graph local 136 HGraph* graph = CreateGraph(&allocator); local 223 HGraph* graph = CreateGraph(&allocator); local [all...] |
H A D | graph_test.cc | 28 static HBasicBlock* createIfBlock(HGraph* graph, ArenaAllocator* allocator) { argument 29 HBasicBlock* if_block = new (allocator) HBasicBlock(graph); 30 graph->AddBlock(if_block); 31 HInstruction* instr = graph->GetIntConstant(4); 39 static HBasicBlock* createGotoBlock(HGraph* graph, ArenaAllocator* allocator) { argument 40 HBasicBlock* block = new (allocator) HBasicBlock(graph); 41 graph->AddBlock(block); 47 static HBasicBlock* createEntryBlock(HGraph* graph, ArenaAllocator* allocator) { argument 48 HBasicBlock* block = createGotoBlock(graph, allocator); 49 graph 53 createReturnBlock(HGraph* graph, ArenaAllocator* allocator) argument 61 createExitBlock(HGraph* graph, ArenaAllocator* allocator) argument 76 HGraph* graph = CreateGraph(&allocator); local 111 HGraph* graph = CreateGraph(&allocator); local 146 HGraph* graph = CreateGraph(&allocator); local 181 HGraph* graph = CreateGraph(&allocator); local 216 HGraph* graph = CreateGraph(&allocator); local 255 HGraph* graph = CreateGraph(&allocator); local 291 HGraph* graph = CreateGraph(&allocator); local [all...] |
H A D | boolean_simplifier.h | 65 explicit HBooleanSimplifier(HGraph* graph) argument 66 : HOptimization(graph, true, kBooleanSimplifierPassName) {}
|
H A D | bounds_check_elimination.h | 26 explicit BoundsCheckElimination(HGraph* graph) argument 27 : HOptimization(graph, true, kBoundsCheckEliminiationPassName) {}
|
H A D | constant_folding.h | 35 explicit HConstantFolding(HGraph* graph, const char* name = kConstantFoldingPassName) argument 36 : HOptimization(graph, true, name) {}
|
H A D | gvn.h | 29 GVNOptimization(HGraph* graph, const SideEffectsAnalysis& side_effects) argument 30 : HOptimization(graph, true, kGlobalValueNumberingPassName), side_effects_(side_effects) {}
|
H A D | instruction_simplifier.h | 31 InstructionSimplifier(HGraph* graph, argument 34 : HOptimization(graph, true, name, stats) {}
|
H A D | licm.h | 29 LICM(HGraph* graph, const SideEffectsAnalysis& side_effects) argument 30 : HOptimization(graph, true, kLoopInvariantCodeMotionPassName), side_effects_(side_effects) {}
|
H A D | nodes_test.cc | 26 * Test that removing instruction from the graph removes itself from user lists 33 HGraph* graph = CreateGraph(&allocator); local 34 HBasicBlock* entry = new (&allocator) HBasicBlock(graph); 35 graph->AddBlock(entry); 36 graph->SetEntryBlock(entry); 41 HBasicBlock* first_block = new (&allocator) HBasicBlock(graph); 42 graph->AddBlock(first_block); 48 HBasicBlock* exit_block = new (&allocator) HBasicBlock(graph); 49 graph->AddBlock(exit_block); 54 &allocator, 1, graph 75 HGraph* graph = CreateGraph(&allocator); local 101 HGraph* graph = CreateGraph(&allocator); local 121 HGraph* graph = CreateGraph(&allocator); local [all...] |
H A D | primitive_type_propagation.h | 24 // Compute and propagate primitive types of phis in the graph. 27 explicit PrimitiveTypePropagation(HGraph* graph) argument 28 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {}
|
H A D | register_allocator_test.cc | 41 HGraph* graph = CreateGraph(&allocator); local 42 HGraphBuilder builder(graph); 45 graph->TryBuildingSsa(); 48 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); 49 SsaLivenessAnalysis liveness(graph, &codegen); 63 HGraph* graph = CreateGraph(&allocator); local 66 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); 154 * Which becomes the following graph: 178 * Which becomes the following graph: 217 * Which becomes the following graph 258 HGraph* graph = CreateGraph(allocator); local 305 HGraph* graph = BuildSSAGraph(data, &allocator); local 339 HGraph* graph = BuildSSAGraph(data, &allocator); local 393 HGraph* graph = BuildSSAGraph(data, &allocator); local 417 HGraph* graph = BuildSSAGraph(data, &allocator); local 466 HGraph* graph = CreateGraph(allocator); local 519 HGraph* graph = BuildIfElseWithPhi(&allocator, &phi, &input1, &input2); local 536 HGraph* graph = BuildIfElseWithPhi(&allocator, &phi, &input1, &input2); local 555 HGraph* graph = BuildIfElseWithPhi(&allocator, &phi, &input1, &input2); local 574 HGraph* graph = BuildIfElseWithPhi(&allocator, &phi, &input1, &input2); local 596 HGraph* graph = CreateGraph(allocator); local 628 HGraph* graph = BuildFieldReturn(&allocator, &field, &ret); local 643 HGraph* graph = BuildFieldReturn(&allocator, &field, &ret); local 664 HGraph* graph = CreateGraph(allocator); local 695 HGraph* graph = BuildTwoSubs(&allocator, &first_sub, &second_sub); local 711 HGraph* graph = BuildTwoSubs(&allocator, &first_sub, &second_sub); local 734 HGraph* graph = CreateGraph(allocator); local 762 HGraph* graph = BuildDiv(&allocator, &div); local 786 HGraph* graph = CreateGraph(&allocator); local [all...] |
H A D | dead_code_elimination.h | 32 HDeadCodeElimination(HGraph* graph, argument 35 : HOptimization(graph, true, name, stats) {}
|
H A D | dead_code_elimination_test.cc | 34 HGraph* graph = CreateCFG(&allocator, data); local 35 ASSERT_NE(graph, nullptr); 37 graph->TryBuildingSsa(); 39 StringPrettyPrinter printer_before(graph); 46 x86::CodeGeneratorX86 codegenX86(graph, *features_x86.get(), CompilerOptions()); 47 HDeadCodeElimination(graph).Run(); 48 SSAChecker ssa_checker(&allocator, graph); 52 StringPrettyPrinter printer_after(graph);
|
H A D | constant_folding_test.cc | 40 HGraph* graph = CreateCFG(&allocator, data, return_type); local 41 ASSERT_NE(graph, nullptr); 43 graph->TryBuildingSsa(); 45 StringPrettyPrinter printer_before(graph); 52 x86::CodeGeneratorX86 codegenX86(graph, *features_x86.get(), CompilerOptions()); 53 HConstantFolding(graph).Run(); 54 SSAChecker ssa_checker_cf(&allocator, graph); 58 StringPrettyPrinter printer_after_cf(graph); 63 check_after_cf(graph); 65 HDeadCodeElimination(graph) [all...] |
H A D | codegen_test.cc | 60 TestCodeGeneratorARM(HGraph* graph, argument 63 : arm::CodeGeneratorARM(graph, isa_features, compiler_options) { 80 TestCodeGeneratorX86(HGraph* graph, argument 83 : x86::CodeGeneratorX86(graph, isa_features, compiler_options) { 142 static void RunCodeBaseline(HGraph* graph, bool has_result, Expected expected) { argument 148 TestCodeGeneratorX86 codegenX86(graph, *features_x86.get(), compiler_options); 158 TestCodeGeneratorARM codegenARM(graph, *features_arm.get(), compiler_options); 166 x86_64::CodeGeneratorX86_64 codegenX86_64(graph, *features_x86_64.get(), compiler_options); 174 arm64::CodeGeneratorARM64 codegenARM64(graph, *features_arm64.get(), compiler_options); 182 mips64::CodeGeneratorMIPS64 codegenMIPS64(graph, *features_mips6 190 RunCodeOptimized(CodeGenerator* codegen, HGraph* graph, std::function<void(HGraph*)> hook_before_codegen, bool has_result, Expected expected) argument 212 RunCodeOptimized(HGraph* graph, std::function<void(HGraph*)> hook_before_codegen, bool has_result, Expected expected) argument 248 HGraph* graph = CreateGraph(&arena); local 261 HGraph* graph = CreateGraph(&arena); local 527 HGraph* graph = CreateGraph(&allocator); local 646 HGraph* graph = CreateGraph(&allocator); local 692 HGraph* graph = CreateGraph(&allocator); local [all...] |
H A D | ssa_builder.h | 28 * Transforms a graph into SSA form. The liveness guarantees of 51 explicit SsaBuilder(HGraph* graph) argument 52 : HGraphVisitor(graph), 54 loop_headers_(graph->GetArena(), kDefaultNumberOfLoops), 55 locals_for_(graph->GetArena(), graph->GetBlocks().Size()) { 56 locals_for_.SetSize(graph->GetBlocks().Size());
|
H A D | optimization.h | 30 HOptimization(HGraph* graph, argument 34 : graph_(graph), 47 // Verify the graph; abort if it is not valid. 58 // Does the analyzed graph use the SSA form?
|
H A D | prepare_for_register_allocation.h | 25 * A simplification pass over the graph before doing register allocation. 31 explicit PrepareForRegisterAllocation(HGraph* graph) : HGraphDelegateVisitor(graph) {} argument
|
H A D | graph_checker.h | 26 // A control-flow graph visitor performing various checks. 29 GraphChecker(ArenaAllocator* allocator, HGraph* graph, argument 31 : HGraphDelegateVisitor(graph), 34 seen_ids_(allocator, graph->GetCurrentInstructionId(), false) {} 36 // Check the whole graph (in insertion order). 45 // Perform control-flow graph checks on instruction. 55 // Was the last visit of the graph valid? 81 // Errors encountered while checking the graph. 93 // An SSA graph visitor performing various checks. 98 // TODO: There's no need to pass a separate allocator as we could get it from the graph 99 SSAChecker(ArenaAllocator* allocator, HGraph* graph) argument [all...] |
H A D | live_ranges_test.cc | 35 HGraph* graph = CreateGraph(allocator); local 36 HGraphBuilder builder(graph); 41 RemoveSuspendChecks(graph); 42 graph->TryBuildingSsa(); 44 PrepareForRegisterAllocation(graph).Run(); 45 return graph; 53 * Which becomes the following graph (numbered by lifetime position): 67 HGraph* graph = BuildGraph(data, &allocator); local 71 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); 72 SsaLivenessAnalysis liveness(graph, 116 HGraph* graph = BuildGraph(data, &allocator); local 167 HGraph* graph = BuildGraph(data, &allocator); local 245 HGraph* graph = BuildGraph(data, &allocator); local 326 HGraph* graph = BuildGraph(data, &allocator); local 404 HGraph* graph = BuildGraph(data, &allocator); local [all...] |