/art/tools/ahat/src/test/com/android/ahat/ |
D | DominatorsTest.java | 75 Graph graph = new Graph(); in singleNode() local 76 graph.node("n"); in singleNode() 77 new Dominators(graph).computeDominators("n"); in singleNode() 84 Graph graph = new Graph(); in parentWithChild() local 85 graph.node("parent", "child"); in parentWithChild() 86 graph.node("child"); in parentWithChild() 87 new Dominators(graph).computeDominators("parent"); in parentWithChild() 89 assertEquals("parent", graph.dom("child")); in parentWithChild() 98 Graph graph = new Graph(); in reachableTwoWays() local 99 graph.node("parent", "left", "right"); in reachableTwoWays() [all …]
|
/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 | 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 | register_allocator_test.cc | 91 HGraph* graph = CreateCFG(data); in Check() local 92 x86::CodeGeneratorX86 codegen(graph, *compiler_options_); in Check() 93 SsaLivenessAnalysis liveness(graph, &codegen, GetScopedAllocator()); in Check() 106 HGraph* graph = CreateGraph(); in TEST_F() local 107 x86::CodeGeneratorX86 codegen(graph, *compiler_options_); in TEST_F() 330 HGraph* graph = CreateCFG(data); in Loop3() local 331 x86::CodeGeneratorX86 codegen(graph, *compiler_options_); in Loop3() 332 SsaLivenessAnalysis liveness(graph, &codegen, GetScopedAllocator()); in Loop3() 339 HBasicBlock* loop_header = graph->GetBlocks()[2]; in Loop3() 348 HBasicBlock* return_block = graph->GetBlocks()[3]; in Loop3() [all …]
|
D | codegen_test_utils.h | 56 CodeGenerator* CreateCodeGenerator(HGraph* graph, const CompilerOptions& compiler_options) { in CreateCodeGenerator() argument 57 return create_codegen_(graph, compiler_options); in CreateCodeGenerator() 88 TestCodeGeneratorARMVIXL(HGraph* graph, const CompilerOptions& compiler_options) in TestCodeGeneratorARMVIXL() argument 89 : arm::CodeGeneratorARMVIXL(graph, compiler_options) { in TestCodeGeneratorARMVIXL() 130 TestCodeGeneratorARM64(HGraph* graph, const CompilerOptions& compiler_options) in TestCodeGeneratorARM64() argument 131 : arm64::CodeGeneratorARM64(graph, compiler_options) {} in TestCodeGeneratorARM64() 148 TestCodeGeneratorX86(HGraph* graph, const CompilerOptions& compiler_options) in TestCodeGeneratorX86() argument 149 : x86::CodeGeneratorX86(graph, compiler_options) { in TestCodeGeneratorX86() 269 static void ValidateGraph(HGraph* graph) { in ValidateGraph() argument 270 GraphChecker graph_checker(graph); in ValidateGraph() [all …]
|
D | codegen_test.cc | 81 HGraph* graph = CreateCFG(data); in TestCode() local 83 RemoveSuspendChecks(graph); in TestCode() 86 RunCode(target_config, *compiler_options, graph, [](HGraph*) {}, has_result, expected); in TestCode() 94 HGraph* graph = CreateCFG(data, DataType::Type::kInt64); in TestCodeLong() local 96 RemoveSuspendChecks(graph); in TestCodeLong() 99 RunCode(target_config, *compiler_options, graph, [](HGraph*) {}, has_result, expected); in TestCodeLong() 415 HGraph* graph = CreateGraph(); in TEST_F() local 417 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 418 graph->AddBlock(entry); in TEST_F() 419 graph->SetEntryBlock(entry); in TEST_F() [all …]
|
D | nodes_test.cc | 145 HGraph* graph = CreateGraph(); in TEST_F() local 146 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 147 graph->AddBlock(entry); in TEST_F() 148 graph->SetEntryBlock(entry); in TEST_F() 150 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F() 154 HBasicBlock* first_block = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 155 graph->AddBlock(first_block); in TEST_F() 161 HBasicBlock* exit_block = new (GetAllocator()) HBasicBlock(graph); in TEST_F() 162 graph->AddBlock(exit_block); in TEST_F() 167 GetAllocator(), 1, graph->GetArtMethod(), 0, null_check); in TEST_F() [all …]
|
D | optimization.cc | 168 HGraph* graph, in ConstructOptimizations() argument 194 opt = most_recent_side_effects = new (allocator) SideEffectsAnalysis(graph, pass_name); in ConstructOptimizations() 197 opt = most_recent_induction = new (allocator) HInductionVarAnalysis(graph, pass_name); in ConstructOptimizations() 204 opt = new (allocator) GVNOptimization(graph, *most_recent_side_effects, pass_name); in ConstructOptimizations() 208 opt = new (allocator) LICM(graph, *most_recent_side_effects, stats, pass_name); in ConstructOptimizations() 213 graph, *codegen, most_recent_induction, stats, pass_name); in ConstructOptimizations() 218 graph, *most_recent_side_effects, most_recent_induction, pass_name); in ConstructOptimizations() 224 opt = new (allocator) HConstantFolding(graph, pass_name); in ConstructOptimizations() 227 opt = new (allocator) HDeadCodeElimination(graph, stats, pass_name); in ConstructOptimizations() 232 opt = new (allocator) HInliner(graph, // outer_graph in ConstructOptimizations() [all …]
|
D | live_ranges_test.cc | 38 HGraph* graph = CreateCFG(data); in BuildGraph() local 42 RemoveSuspendChecks(graph); in BuildGraph() 44 PrepareForRegisterAllocation(graph, *compiler_options_).Run(); in BuildGraph() 45 return graph; in BuildGraph() 65 HGraph* graph = BuildGraph(data); in TEST_F() local 67 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() 68 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F() 76 HBasicBlock* block = graph->GetBlocks()[1]; in TEST_F() 110 HGraph* graph = BuildGraph(data); in TEST_F() local 111 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() [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 | 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 | induction_var_range.cc | 232 HGraph* graph, in GenerateRange() argument 242 graph, in GenerateRange() 255 HGraph* graph, in GenerateTakenTest() argument 264 graph, in GenerateTakenTest() 297 HGraph* graph, in GenerateLastValue() argument 306 graph, in GenerateLastValue() 346 HGraph* graph, in IsUnitStride() argument 358 *offset = graph->GetConstant(info->op_b->type, off_value); in IsUnitStride() 372 HGraph* graph, in GenerateTripCount() argument 380 if (!GenerateCode(trip->op_b, nullptr, graph, block, &taken_test, false, false)) { in GenerateTripCount() [all …]
|
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 | 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 | dead_code_elimination_test.cc | 38 HGraph* graph = CreateCFG(data); in TestCode() local 39 ASSERT_NE(graph, nullptr); in TestCode() 41 StringPrettyPrinter printer_before(graph); in TestCode() 46 HDeadCodeElimination(graph, /* stats= */ nullptr, "dead_code_elimination").Run(); in TestCode() 47 GraphChecker graph_checker(graph); in TestCode() 51 StringPrettyPrinter printer_after(graph); in TestCode()
|
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 | 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 | constant_folding_test.cc | 124 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 125 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 185 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 186 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 246 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 247 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 325 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 326 HInstruction* inst1 = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 396 auto check_after_cf = [](HGraph* graph) { in TEST_F() argument 397 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() [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); 182 HGraph* graph, 190 HInstruction* GenerateTripCount(HLoopInformation* loop, HGraph* graph, HBasicBlock* block); 292 HGraph* graph, 303 HGraph* graph, 309 HGraph* graph, 315 HGraph* graph, 321 HGraph* graph, [all …]
|
D | optimizing_compiler.cc | 106 PassObserver(HGraph* graph, in PassObserver() argument 111 : graph_(graph), in PassObserver() 116 disasm_info_(graph->GetAllocator()), in PassObserver() 120 visualizer_(&visualizer_oss_, graph, codegen), in PassObserver() 309 bool RunOptimizations(HGraph* graph, in RunOptimizations() argument 319 graph->GetAllocator(), in RunOptimizations() 320 graph, in RunOptimizations() 350 HGraph* graph, in RunOptimizations() argument 356 graph, codegen, dex_compilation_unit, pass_observer, definitions, length); in RunOptimizations() 359 void RunOptimizations(HGraph* graph, [all …]
|
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 | execution_subgraph.h | 56 explicit BlockIdToBlockTransformer(const HGraph* graph) : graph_(graph) {} in BlockIdToBlockTransformer() argument 129 explicit ExcludedCohort(ScopedArenaAllocator* allocator, HGraph* graph) in ExcludedCohort() argument 130 : graph_(graph), in ExcludedCohort() 229 ExecutionSubgraph(HGraph* graph, ScopedArenaAllocator* allocator); 297 static bool CanAnalyse(HGraph* graph) { in CanAnalyse() argument 302 return std::all_of(graph->GetBlocks().begin(), graph->GetBlocks().end(), [](HBasicBlock* blk) { in CanAnalyse()
|
/art/tools/ahat/src/main/com/android/ahat/dominators/ |
D | Dominators.java | 33 private final Graph<Node> graph; field in Dominators 109 public Dominators(Graph graph) { in Dominators() argument 110 this.graph = graph; in Dominators() 295 graph.setDominatorsComputationState(root, rootS); in computeDominators() 299 for (Node child : graph.getReferencesForDominators(root)) { in computeDominators() 320 NodeS dstS = (NodeS)graph.getDominatorsComputationState(link.dst); in computeDominators() 325 graph.setDominatorsComputationState(link.dst, dstS); in computeDominators() 336 for (Node child : graph.getReferencesForDominators(link.dst)) { in computeDominators() 453 graph.setDominatorsComputationState((Node)nodeS.node, null); in computeDominators() 456 graph.setDominator((Node)xS.node, (Node)nodeS.node); in computeDominators()
|