/art/compiler/optimizing/ |
H A D | live_ranges_test.cc | 35 HGraph* graph = CreateCFG(allocator, data); local 38 RemoveSuspendChecks(graph); 40 PrepareForRegisterAllocation(graph).Run(); 41 return graph; 49 * Which becomes the following graph (numbered by lifetime position): 63 HGraph* graph = BuildGraph(data, &allocator); local 67 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); 68 SsaLivenessAnalysis liveness(graph, &codegen); 76 HBasicBlock* block = graph->GetBlocks()[1]; 91 * Which becomes the following graph (numbere 112 HGraph* graph = BuildGraph(data, &allocator); local 163 HGraph* graph = BuildGraph(data, &allocator); local 241 HGraph* graph = BuildGraph(data, &allocator); local 321 HGraph* graph = BuildGraph(data, &allocator); local 399 HGraph* graph = BuildGraph(data, &allocator); local [all...] |
H A D | ssa_builder.h | 27 * Transforms a graph into SSA form. The liveness guarantees of 50 SsaBuilder(HGraph* graph, argument 53 : graph_(graph), 57 ambiguous_agets_(graph->GetArena()->Adapter(kArenaAllocGraphBuilder)), 58 ambiguous_asets_(graph->GetArena()->Adapter(kArenaAllocGraphBuilder)), 59 uninitialized_strings_(graph->GetArena()->Adapter(kArenaAllocGraphBuilder)) {
|
H A D | bounds_check_elimination_test.cc | 358 static HInstruction* BuildSSAGraph1(HGraph* graph, argument 363 HBasicBlock* entry = new (allocator) HBasicBlock(graph); 364 graph->AddBlock(entry); 365 graph->SetEntryBlock(entry); 367 graph->GetDexFile(), 0, 0, Primitive::kPrimNot); 370 HInstruction* constant_initial = graph->GetIntConstant(initial); 371 HInstruction* constant_increment = graph->GetIntConstant(increment); 372 HInstruction* constant_10 = graph->GetIntConstant(10); 374 HBasicBlock* block = new (allocator) HBasicBlock(graph); 375 graph 473 BuildSSAGraph2(HGraph *graph, ArenaAllocator* allocator, int initial, int increment = -1, IfCondition cond = kCondLE) argument 583 BuildSSAGraph3(HGraph* graph, ArenaAllocator* allocator, int initial, int increment, IfCondition cond) argument 687 BuildSSAGraph4(HGraph* graph, ArenaAllocator* allocator, int initial, IfCondition cond = kCondGE) argument [all...] |
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 | instruction_simplifier_arm64.h | 28 InstructionSimplifierArm64Visitor(HGraph* graph, OptimizingCompilerStats* stats) argument 29 : HGraphVisitor(graph), stats_(stats) {} 88 InstructionSimplifierArm64(HGraph* graph, OptimizingCompilerStats* stats) argument 89 : HOptimization(graph, "instruction_simplifier_arm64", stats) {}
|
H A D | block_builder.h | 29 HBasicBlockBuilder(HGraph* graph, argument 32 : arena_(graph->GetArena()), 33 graph_(graph),
|
H A D | optimizing_compiler.cc | 124 PassObserver(HGraph* graph, argument 128 : graph_(graph), 132 disasm_info_(graph->GetArena()), 134 visualizer_(visualizer_output, graph, *codegen), 172 // Dump graph first, then start timer. 182 // Pause timer first, then dump graph. 231 // Flag to be set by the compiler if the pass failed and the graph is not 300 // Create a 'CompiledMethod' for an optimized graph. 310 // 1) Builds the graph. Returns null if it failed to build it. 311 // 2) Transforms the graph t 399 MaybeRunInliner(HGraph* graph, CodeGenerator* codegen, CompilerDriver* driver, OptimizingCompilerStats* stats, const DexCompilationUnit& dex_compilation_unit, PassObserver* pass_observer, StackHandleScopeCollection* handles) argument 429 RunArchOptimizations(InstructionSet instruction_set, HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats, PassObserver* pass_observer) argument 482 AllocateRegisters(HGraph* graph, CodeGenerator* codegen, PassObserver* pass_observer) argument 501 RunOptimizations(HGraph* graph, CodeGenerator* codegen, CompilerDriver* driver, OptimizingCompilerStats* stats, const DexCompilationUnit& dex_compilation_unit, PassObserver* pass_observer, StackHandleScopeCollection* handles) argument 673 HGraph* graph = new (arena) HGraph( local [all...] |
H A D | optimizing_unit_test.h | 64 void RemoveSuspendChecks(HGraph* graph) { argument 65 for (HBasicBlock* block : graph->GetBlocks()) { 83 // Create a control-flow graph from Dex instructions. 89 HGraph* graph = CreateGraph(allocator); local 94 HGraphBuilder builder(graph, *item, &handles, return_type); 96 return graph_built ? graph : nullptr; 119 // Returns if the instruction is removed from the graph.
|
H A D | induction_var_range.cc | 203 HGraph* graph, 208 if (!GenerateCode(context, instruction, graph, block, lower, upper, nullptr, &b1, &b2)) { 214 HGraph* graph, 218 if (!GenerateCode(context, context, graph, block, nullptr, nullptr, taken_test, &b1, &b2)) { 607 HGraph* graph, 640 return GenerateCode(trip->op_b, nullptr, graph, block, taken_test, in_body, /* is_min */ false); 651 GenerateCode(info, trip, graph, block, lower, in_body, /* is_min */ true)) && 653 GenerateCode(info, trip, graph, block, upper, in_body, /* is_min */ false); 658 HGraph* graph, // when set, code is generated 681 if (GenerateCode(info->op_a, trip, graph, bloc 201 GenerateRangeCode(HInstruction* context, HInstruction* instruction, HGraph* graph, HBasicBlock* block, HInstruction** lower, HInstruction** upper) argument 213 GenerateTakenTest(HInstruction* context, HGraph* graph, HBasicBlock* block, HInstruction** taken_test) argument 605 GenerateCode(HInstruction* context, HInstruction* instruction, HGraph* graph, HBasicBlock* block, HInstruction** lower, HInstruction** upper, HInstruction** taken_test, bool* needs_finite_test, bool* needs_taken_test) const argument 656 GenerateCode(HInductionVarAnalysis::InductionInfo* info, HInductionVarAnalysis::InductionInfo* trip, HGraph* graph, HBasicBlock* block, HInstruction** result, bool in_body, bool is_min) const argument [all...] |
H A D | dex_cache_array_fixups_arm.cc | 30 explicit DexCacheArrayFixupsVisitor(HGraph* graph) argument 31 : HGraphVisitor(graph), 34 graph->GetArena()->Adapter(kArenaAllocCodeGenerator)) {}
|
H A D | pretty_printer.h | 27 explicit HPrettyPrinter(HGraph* graph) : HGraphVisitor(graph) { } argument 106 explicit StringPrettyPrinter(HGraph* graph) argument 107 : HPrettyPrinter(graph), str_(""), current_block_(nullptr) { }
|
H A D | ssa_test.cc | 35 explicit SsaPrettyPrinter(HGraph* graph) : HPrettyPrinter(graph), str_("") {} argument 67 static void ReNumberInstructions(HGraph* graph) { argument 69 for (HBasicBlock* block : graph->GetBlocks()) { 82 HGraph* graph = CreateCFG(&allocator, data); local 85 RemoveSuspendChecks(graph); 86 ReNumberInstructions(graph); 89 for (HBasicBlock* block : graph->GetBlocks()) { 95 SsaPrettyPrinter printer(graph);
|
H A D | suspend_check_test.cc | 34 HGraph* graph = CreateCFG(&allocator, data); local 35 HBasicBlock* first_block = graph->GetEntryBlock()->GetSingleSuccessor();
|
H A D | constant_folding_test.cc | 133 auto check_after_cf = [](HGraph* graph) { 134 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); 194 auto check_after_cf = [](HGraph* graph) { 195 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); 255 auto check_after_cf = [](HGraph* graph) { 256 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); 334 auto check_after_cf = [](HGraph* graph) { 335 HInstruction* inst1 = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); 405 auto check_after_cf = [](HGraph* graph) { 406 HInstruction* inst = graph [all...] |
H A D | linearize_test.cc | 42 HGraph* graph = CreateCFG(&allocator, data); local 45 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); 46 SsaLivenessAnalysis liveness(graph, &codegen); 49 ASSERT_EQ(graph->GetLinearOrder().size(), number_of_blocks); 51 ASSERT_EQ(graph->GetLinearOrder()[i]->GetBlockId(), expected_order[i]); 56 // Structure of this graph (+ are back edges) 81 // Structure of this graph (+ are back edges) 106 // Structure of this graph (+ are back edges) 133 /* Structure of this graph (+ are back edges) 163 /* Structure of this graph ( [all...] |
H A D | dominator_test.cc | 32 HGraph* graph = CreateCFG(&allocator, data); local 33 ASSERT_EQ(graph->GetBlocks().size(), blocks_length); 36 if (graph->GetBlocks()[i] == nullptr) { 40 ASSERT_EQ(nullptr, graph->GetBlocks()[i]->GetDominator()); 41 ASSERT_TRUE(graph->GetBlocks()[i]->IsEntryBlock()); 44 ASSERT_NE(nullptr, graph->GetBlocks()[i]->GetDominator()); 45 ASSERT_EQ(blocks[i], graph->GetBlocks()[i]->GetDominator()->GetBlockId());
|
H A D | dead_code_elimination.cc | 25 static void MarkReachableBlocks(HGraph* graph, ArenaBitVector* visited) { argument 26 ArenaVector<HBasicBlock*> worklist(graph->GetArena()->Adapter(kArenaAllocDCE)); 29 visited->SetBit(graph->GetEntryBlock()->GetBlockId()); 30 worklist.push_back(graph->GetEntryBlock()); 93 // Do not eliminate dead blocks if the graph has irreducible loops. We could
|
H A D | induction_var_range.h | 89 * generated in given block and graph and are returned in the output parameters lower and 103 HGraph* graph, 110 * given block and graph. The taken-test is returned in parameter test. 115 HGraph* graph, 186 HGraph* graph, 196 HGraph* graph,
|
H A D | pc_relative_fixups_x86.cc | 29 PCRelativeHandlerVisitor(HGraph* graph, CodeGenerator* codegen) argument 30 : HGraphVisitor(graph), 127 HGraph* graph = GetGraph(); variable 129 HX86FPNeg* x86_fp_neg = new (graph->GetArena()) HX86FPNeg( 146 HGraph* graph = GetGraph(); variable 148 HX86PackedSwitch* x86_switch = new (graph->GetArena()) HX86PackedSwitch(
|
H A D | liveness_test.cc | 49 HGraph* graph = CreateCFG(&allocator, data); local 51 PrepareForRegisterAllocation(graph).Run(); 54 x86::CodeGeneratorX86 codegen(graph, *features_x86.get(), CompilerOptions()); 55 SsaLivenessAnalysis liveness(graph, &codegen); 59 for (HInsertionOrderIterator it(*graph); !it.Done(); it.Advance()) {
|
H A D | pretty_printer_test.cc | 33 HGraph* graph = CreateCFG(&allocator, data); local 34 StringPrettyPrinter printer(graph);
|
H A D | code_generator.h | 171 // Compiles the graph to executable instructions. 173 static std::unique_ptr<CodeGenerator> Create(HGraph* graph, 180 // Get the graph. This is the outermost graph, never the graph of a method being inlined. 491 CodeGenerator(HGraph* graph, argument 503 blocked_core_registers_(graph->GetArena()->AllocArray<bool>(number_of_core_registers, 505 blocked_fpu_registers_(graph->GetArena()->AllocArray<bool>(number_of_fpu_registers, 507 blocked_register_pairs_(graph->GetArena()->AllocArray<bool>(number_of_register_pairs, 514 stack_map_stream_(graph 698 SlowPathGenerator(HGraph* graph, CodeGenerator* codegen) argument 790 InstructionCodeGenerator(HGraph* graph, CodeGenerator* codegen) argument [all...] |
H A D | load_store_elimination.cc | 193 explicit HeapLocationCollector(HGraph* graph) argument 194 : HGraphVisitor(graph), 195 ref_info_array_(graph->GetArena()->Adapter(kArenaAllocLSE)), 196 heap_locations_(graph->GetArena()->Adapter(kArenaAllocLSE)), 197 aliasing_matrix_(graph->GetArena(), 510 LSEVisitor(HGraph* graph, argument 513 : HGraphVisitor(graph), 516 heap_values_for_(graph->GetBlocks().size(), 520 graph->GetArena()->Adapter(kArenaAllocLSE)), 521 graph [all...] |
H A D | code_generator.cc | 556 std::unique_ptr<CodeGenerator> CodeGenerator::Create(HGraph* graph, argument 561 ArenaAllocator* arena = graph->GetArena(); 567 new (arena) arm::CodeGeneratorARM(graph, 576 new (arena) arm64::CodeGeneratorARM64(graph, 585 new (arena) mips::CodeGeneratorMIPS(graph, 594 new (arena) mips64::CodeGeneratorMIPS64(graph, 603 new (arena) x86::CodeGeneratorX86(graph, 612 new (arena) x86_64::CodeGeneratorX86_64(graph, 628 const HGraph& graph, 635 if (graph 627 CheckCovers(uint32_t dex_pc, const HGraph& graph, const CodeInfo& code_info, const ArenaVector<HSuspendCheck*>& loop_headers, ArenaVector<size_t>* covered) argument 645 CheckLoopEntriesCanBeUsedForOsr(const HGraph& graph, const CodeInfo& code_info, const DexFile::CodeItem& code_item) argument [all...] |
H A D | constant_folding.cc | 25 explicit HConstantFoldingVisitor(HGraph* graph) argument 26 : HGraphDelegateVisitor(graph) {} 45 explicit InstructionWithAbsorbingInputSimplifier(HGraph* graph) : HGraphVisitor(graph) {} argument
|