/art/compiler/optimizing/ |
D | find_loops_test.cc | 38 HGraph* graph = CreateCFG(data); in TEST_F() local 39 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F() 49 HGraph* graph = CreateCFG(data); in TEST_F() local 50 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F() 63 HGraph* graph = CreateCFG(data); in TEST_F() local 64 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F() 78 HGraph* graph = CreateCFG(data); in TEST_F() local 79 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F() 91 HGraph* graph = CreateCFG(data); in TEST_F() local 92 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F() [all …]
|
D | gvn_test.cc | 30 HGraph* graph = CreateGraph(); in TEST_F() local 31 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 32 graph->AddBlock(entry); in TEST_F() 33 graph->SetEntryBlock(entry); in TEST_F() 34 HInstruction* parameter = new (GetAllocator()) HParameterValue(graph->GetDexFile(), in TEST_F() 40 HBasicBlock* block = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 41 graph->AddBlock(block); in TEST_F() 51 graph->GetDexFile(), in TEST_F() 60 graph->GetDexFile(), in TEST_F() 70 graph->GetDexFile(), in TEST_F() [all …]
|
D | graph_test.cc | 29 HBasicBlock* CreateIfBlock(HGraph* graph); 30 HBasicBlock* CreateGotoBlock(HGraph* graph); 31 HBasicBlock* CreateEntryBlock(HGraph* graph); 32 HBasicBlock* CreateReturnBlock(HGraph* graph); 33 HBasicBlock* CreateExitBlock(HGraph* graph); 36 HBasicBlock* GraphTest::CreateIfBlock(HGraph* graph) { in CreateIfBlock() argument 37 HBasicBlock* if_block = new (GetAllocator()) HBasicBlock(graph); in CreateIfBlock() 38 graph->AddBlock(if_block); in CreateIfBlock() 39 HInstruction* instr = graph->GetIntConstant(4); in CreateIfBlock() 47 HBasicBlock* GraphTest::CreateGotoBlock(HGraph* graph) { in CreateGotoBlock() argument [all …]
|
D | nodes_test.cc | 33 HGraph* graph = CreateGraph(); in TEST_F() local 34 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 35 graph->AddBlock(entry); in TEST_F() 36 graph->SetEntryBlock(entry); in TEST_F() 38 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F() 42 HBasicBlock* first_block = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 43 graph->AddBlock(first_block); in TEST_F() 49 HBasicBlock* exit_block = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 50 graph->AddBlock(exit_block); in TEST_F() 55 GetAllocator(), 1, graph->GetArtMethod(), 0, null_check); in TEST_F() [all …]
|
D | graph_checker_test.cc | 37 HGraph* graph = CreateGraph(); in CreateSimpleCFG() local 38 HBasicBlock* entry_block = new (GetAllocator()) HBasicBlock(graph); in CreateSimpleCFG() 40 graph->AddBlock(entry_block); in CreateSimpleCFG() 41 graph->SetEntryBlock(entry_block); in CreateSimpleCFG() 42 HBasicBlock* exit_block = new (GetAllocator()) HBasicBlock(graph); in CreateSimpleCFG() 44 graph->AddBlock(exit_block); in CreateSimpleCFG() 45 graph->SetExitBlock(exit_block); in CreateSimpleCFG() 47 graph->BuildDominatorTree(); in CreateSimpleCFG() 48 return graph; in CreateSimpleCFG() 52 HGraph* graph = CreateCFG(data); in TestCode() local [all …]
|
D | codegen_test_utils.h | 72 CodeGenerator* CreateCodeGenerator(HGraph* graph, const CompilerOptions& compiler_options) { in CreateCodeGenerator() argument 73 return create_codegen_(graph, compiler_options); in CreateCodeGenerator() 104 TestCodeGeneratorARMVIXL(HGraph* graph, in TestCodeGeneratorARMVIXL() argument 107 : arm::CodeGeneratorARMVIXL(graph, isa_features, compiler_options) { in TestCodeGeneratorARMVIXL() 148 TestCodeGeneratorARM64(HGraph* graph, in TestCodeGeneratorARM64() argument 151 : arm64::CodeGeneratorARM64(graph, isa_features, compiler_options) {} in TestCodeGeneratorARM64() 168 TestCodeGeneratorX86(HGraph* graph, in TestCodeGeneratorX86() argument 171 : x86::CodeGeneratorX86(graph, isa_features, compiler_options) { in TestCodeGeneratorX86() 281 static void ValidateGraph(HGraph* graph) { in ValidateGraph() argument 282 GraphChecker graph_checker(graph); in ValidateGraph() [all …]
|
D | codegen_test.cc | 89 HGraph* graph = CreateCFG(data); in TestCode() local 91 RemoveSuspendChecks(graph); in TestCode() 92 RunCode(target_config, graph, [](HGraph*) {}, has_result, expected); in TestCode() 100 HGraph* graph = CreateCFG(data, DataType::Type::kInt64); in TestCodeLong() local 102 RemoveSuspendChecks(graph); in TestCodeLong() 103 RunCode(target_config, graph, [](HGraph*) {}, has_result, expected); in TestCodeLong() 419 HGraph* graph = CreateGraph(); in TEST_F() local 421 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 422 graph->AddBlock(entry); in TEST_F() 423 graph->SetEntryBlock(entry); in TEST_F() [all …]
|
D | register_allocator_test.cc | 83 HGraph* graph = CreateCFG(data); in Check() local 86 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); in Check() 87 SsaLivenessAnalysis liveness(graph, &codegen, GetScopedAllocator()); in Check() 100 HGraph* graph = CreateGraph(); in TEST_F() local 103 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); in TEST_F() 326 HGraph* graph = CreateCFG(data); in Loop3() local 329 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); in Loop3() 330 SsaLivenessAnalysis liveness(graph, &codegen, GetScopedAllocator()); in Loop3() 337 HBasicBlock* loop_header = graph->GetBlocks()[2]; in Loop3() 346 HBasicBlock* return_block = graph->GetBlocks()[3]; in Loop3() [all …]
|
D | optimization.cc | 173 HGraph* graph, in ConstructOptimizations() argument 202 opt = most_recent_side_effects = new (allocator) SideEffectsAnalysis(graph, name); in ConstructOptimizations() 205 opt = most_recent_induction = new (allocator) HInductionVarAnalysis(graph, name); in ConstructOptimizations() 208 opt = most_recent_lsa = new (allocator) LoadStoreAnalysis(graph, name); in ConstructOptimizations() 215 opt = new (allocator) GVNOptimization(graph, *most_recent_side_effects, name); in ConstructOptimizations() 219 opt = new (allocator) LICM(graph, *most_recent_side_effects, stats, name); in ConstructOptimizations() 223 opt = new (allocator) HLoopOptimization(graph, driver, most_recent_induction, stats, name); in ConstructOptimizations() 228 graph, *most_recent_side_effects, most_recent_induction, name); in ConstructOptimizations() 233 graph, *most_recent_side_effects, *most_recent_lsa, stats, name); in ConstructOptimizations() 239 opt = new (allocator) HConstantFolding(graph, name); in ConstructOptimizations() [all …]
|
D | side_effects_analysis.h | 28 explicit SideEffectsAnalysis(HGraph* graph, const char* pass_name = kSideEffectsAnalysisPassName) 29 : HOptimization(graph, pass_name), in HOptimization() argument 30 graph_(graph), in HOptimization() 31 block_effects_(graph->GetBlocks().size(), in HOptimization() 32 graph->GetAllocator()->Adapter(kArenaAllocSideEffectsAnalysis)), in HOptimization() 33 loop_effects_(graph->GetBlocks().size(), in HOptimization() 34 graph->GetAllocator()->Adapter(kArenaAllocSideEffectsAnalysis)) {} in HOptimization()
|
D | live_ranges_test.cc | 38 HGraph* graph = CreateCFG(data); in BuildGraph() local 41 RemoveSuspendChecks(graph); in BuildGraph() 43 PrepareForRegisterAllocation(graph).Run(); in BuildGraph() 44 return graph; in BuildGraph() 64 HGraph* graph = BuildGraph(data); in TEST_F() local 68 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); in TEST_F() 69 SsaLivenessAnalysis liveness(graph, &codegen, GetScopedAllocator()); in TEST_F() 77 HBasicBlock* block = graph->GetBlocks()[1]; in TEST_F() 111 HGraph* graph = BuildGraph(data); in TEST_F() local 114 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); in TEST_F() [all …]
|
D | linear_order.cc | 58 static bool IsLinearOrderWellFormed(const HGraph* graph, ArrayRef<HBasicBlock*> linear_order) { in IsLinearOrderWellFormed() argument 59 for (HBasicBlock* header : graph->GetBlocks()) { in IsLinearOrderWellFormed() 86 void LinearizeGraphInternal(const HGraph* graph, ArrayRef<HBasicBlock*> linear_order) { in LinearizeGraphInternal() argument 87 DCHECK_EQ(linear_order.size(), graph->GetReversePostOrder().size()); in LinearizeGraphInternal() 97 ScopedArenaAllocator allocator(graph->GetArenaStack()); in LinearizeGraphInternal() 98 ScopedArenaVector<uint32_t> forward_predecessors(graph->GetBlocks().size(), in LinearizeGraphInternal() 100 for (HBasicBlock* block : graph->GetReversePostOrder()) { in LinearizeGraphInternal() 112 worklist.push_back(graph->GetEntryBlock()); in LinearizeGraphInternal() 130 DCHECK(graph->HasIrreducibleLoops() || IsLinearOrderWellFormed(graph, linear_order)); in LinearizeGraphInternal()
|
D | linear_order.h | 26 void LinearizeGraphInternal(const HGraph* graph, ArrayRef<HBasicBlock*> linear_order); 40 void LinearizeGraph(const HGraph* graph, Vector* linear_order) { in LinearizeGraph() argument 45 linear_order->resize(graph->GetReversePostOrder().size()); in LinearizeGraph() 46 LinearizeGraphInternal(graph, ArrayRef<HBasicBlock*>(*linear_order)); in LinearizeGraph()
|
D | induction_var_range.cc | 268 HGraph* graph, in GenerateRange() argument 278 graph, in GenerateRange() 291 HGraph* graph, in GenerateTakenTest() argument 300 graph, in GenerateTakenTest() 333 HGraph* graph, in GenerateLastValue() argument 342 graph, in GenerateLastValue() 380 HGraph* graph, in IsUnitStride() argument 392 *offset = graph->GetConstant(info->op_b->type, off_value); in IsUnitStride() 406 HGraph* graph, in GenerateTripCount() argument 414 if (!GenerateCode(trip->op_b, nullptr, graph, block, &taken_test, false, false)) { in GenerateTripCount() [all …]
|
D | dead_code_elimination_test.cc | 40 HGraph* graph = CreateCFG(data); in TestCode() local 41 ASSERT_NE(graph, nullptr); in TestCode() 43 StringPrettyPrinter printer_before(graph); in TestCode() 50 x86::CodeGeneratorX86 codegenX86(graph, *features_x86.get(), CompilerOptions()); in TestCode() 51 HDeadCodeElimination(graph, nullptr /* stats */, "dead_code_elimination").Run(); in TestCode() 52 GraphChecker graph_checker(graph); in TestCode() 56 StringPrettyPrinter printer_after(graph); in TestCode()
|
D | ssa_phi_elimination.h | 31 explicit SsaDeadPhiElimination(HGraph* graph) in SsaDeadPhiElimination() argument 32 : HOptimization(graph, kSsaDeadPhiEliminationPassName) {} in SsaDeadPhiElimination() 53 explicit SsaRedundantPhiElimination(HGraph* graph) in SsaRedundantPhiElimination() argument 54 : HOptimization(graph, kSsaRedundantPhiEliminationPassName) {} in SsaRedundantPhiElimination()
|
D | x86_memory_gen.cc | 29 MemoryOperandVisitor(HGraph* graph, bool do_implicit_null_checks) in MemoryOperandVisitor() argument 30 : HGraphVisitor(graph), in MemoryOperandVisitor() 72 X86MemoryOperandGeneration::X86MemoryOperandGeneration(HGraph* graph, in X86MemoryOperandGeneration() argument 75 : HOptimization(graph, kX86MemoryOperandGenerationPassName, stats), in X86MemoryOperandGeneration()
|
D | bounds_check_elimination_test.cc | 358 static HInstruction* BuildSSAGraph1(HGraph* graph, in BuildSSAGraph1() argument 363 HBasicBlock* entry = new (allocator) HBasicBlock(graph); in BuildSSAGraph1() 364 graph->AddBlock(entry); in BuildSSAGraph1() 365 graph->SetEntryBlock(entry); in BuildSSAGraph1() 367 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in BuildSSAGraph1() 370 HInstruction* constant_initial = graph->GetIntConstant(initial); in BuildSSAGraph1() 371 HInstruction* constant_increment = graph->GetIntConstant(increment); in BuildSSAGraph1() 372 HInstruction* constant_10 = graph->GetIntConstant(10); in BuildSSAGraph1() 374 HBasicBlock* block = new (allocator) HBasicBlock(graph); in BuildSSAGraph1() 375 graph->AddBlock(block); in BuildSSAGraph1() [all …]
|
D | optimizing_compiler.cc | 108 PassObserver(HGraph* graph, in PassObserver() argument 113 : graph_(graph), in PassObserver() 117 disasm_info_(graph->GetAllocator()), in PassObserver() 121 visualizer_(&visualizer_oss_, graph, *codegen), in PassObserver() 301 void RunOptimizations(HGraph* graph, in RunOptimizations() argument 312 graph->GetAllocator(), in RunOptimizations() 313 graph, in RunOptimizations() 328 HGraph* graph, in RunOptimizations() argument 335 graph, codegen, dex_compilation_unit, pass_observer, handles, definitions, length); in RunOptimizations() 338 void RunOptimizations(HGraph* graph, [all …]
|
D | induction_var_range.h | 102 HGraph* graph, 113 HInstruction* GenerateTakenTest(HInstruction* context, HGraph* graph, HBasicBlock* block); 127 HInstruction* GenerateLastValue(HInstruction* instruction, HGraph* graph, HBasicBlock* block); 176 HGraph* graph, 184 HInstruction* GenerateTripCount(HLoopInformation* loop, HGraph* graph, HBasicBlock* block); 278 HGraph* graph, 289 HGraph* graph, 295 HGraph* graph, 301 HGraph* graph, 307 HGraph* graph, [all …]
|
D | graph_checker.h | 32 explicit GraphChecker(HGraph* graph, const char* dump_prefix = "art::GraphChecker: ") 33 : HGraphDelegateVisitor(graph), in HGraphDelegateVisitor() argument 34 errors_(graph->GetAllocator()->Adapter(kArenaAllocGraphChecker)), in HGraphDelegateVisitor() 36 allocator_(graph->GetArenaStack()), in HGraphDelegateVisitor() 37 seen_ids_(&allocator_, graph->GetCurrentInstructionId(), false, kArenaAllocGraphChecker) { in HGraphDelegateVisitor()
|
D | constant_folding_test.cc | 129 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 130 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 190 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 191 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 251 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 252 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 330 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 331 HInstruction* inst1 = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 401 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 402 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() [all …]
|
D | optimizing_unit_test.h | 74 void RemoveSuspendChecks(HGraph* graph) { in RemoveSuspendChecks() argument 75 for (HBasicBlock* block : graph->GetBlocks()) { in RemoveSuspendChecks() 149 HGraph* graph = CreateGraph(); variable 164 new (graph->GetAllocator()) DexCompilationUnit( 167 graph->GetDexFile(), 174 CodeItemDebugInfoAccessor accessor(graph->GetDexFile(), code_item, /*dex_method_idx*/ 0u); 175 HGraphBuilder builder(graph, dex_compilation_unit, accessor, handles_.get(), return_type); 177 return graph_built ? graph : nullptr;
|
D | ssa_test.cc | 39 explicit SsaPrettyPrinter(HGraph* graph) : HPrettyPrinter(graph), str_("") {} in SsaPrettyPrinter() argument 71 static void ReNumberInstructions(HGraph* graph) { in ReNumberInstructions() argument 73 for (HBasicBlock* block : graph->GetBlocks()) { in ReNumberInstructions() 84 HGraph* graph = CreateCFG(data); in TestCode() local 87 RemoveSuspendChecks(graph); in TestCode() 88 ReNumberInstructions(graph); in TestCode() 91 for (HBasicBlock* block : graph->GetBlocks()) { in TestCode() 97 SsaPrettyPrinter printer(graph); in TestCode()
|
D | constant_folding.h | 42 HConstantFolding(HGraph* graph, const char* name) : HOptimization(graph, name) {} in HConstantFolding() argument
|