Searched defs:graph (Results 51 - 71 of 71) sorted by relevance

123

/art/compiler/optimizing/
H A Dcodegen_test.cc66 TestCodeGeneratorARM(HGraph* graph, argument
69 : arm::CodeGeneratorARM(graph, isa_features, compiler_options) {
86 TestCodeGeneratorX86(HGraph* graph, argument
89 : x86::CodeGeneratorX86(graph, isa_features, compiler_options) {
205 HGraph* graph,
209 GraphChecker graph_checker(graph);
218 SsaLivenessAnalysis liveness(graph, codegen);
220 PrepareForRegisterAllocation(graph).Run();
222 RegisterAllocator(graph->GetArena(), codegen, liveness).AllocateRegisters();
223 hook_before_codegen(graph);
204 RunCode(CodeGenerator* codegen, HGraph* graph, std::function<void(HGraph*)> hook_before_codegen, bool has_result, Expected expected) argument
231 RunCode(InstructionSet target_isa, HGraph* graph, std::function<void(HGraph*)> hook_before_codegen, bool has_result, Expected expected) argument
298 HGraph* graph = CreateCFG(&arena, data); local
311 HGraph* graph = CreateCFG(&arena, data, Primitive::kPrimLong); local
635 HGraph* graph = CreateGraph(&allocator); local
697 HGraph* graph = CreateGraph(&allocator); local
745 HGraph* graph = CreateGraph(&allocator); local
826 HGraph* graph = CreateGraph(&allocator); local
[all...]
H A Dgvn.cc354 HGraph* graph,
356 : graph_(graph),
359 sets_(graph->GetBlocks().size(), nullptr, allocator->Adapter(kArenaAllocGvn)),
361 allocator, graph->GetBlocks().size(), /* expandable */ false, kArenaAllocGvn) {}
485 // Save the next instruction in case `current` is removed from the graph.
353 GlobalValueNumberer(ArenaAllocator* allocator, HGraph* graph, const SideEffectsAnalysis& side_effects) argument
H A Dgraph_visualizer.cc163 HGraphVisualizerPrinter(HGraph* graph, argument
170 : HGraphDelegateVisitor(graph),
582 // The NullConstant may be added to the graph during other passes that happen between
669 // If the graph has an exit block we attach the block for the slow paths
670 // after it. Else we just add the block to the graph without linking it to
770 HGraph* graph,
772 : output_(output), graph_(graph), codegen_(codegen) {}
769 HGraphVisualizer(std::ostream* output, HGraph* graph, const CodeGenerator& codegen) argument
H A Dinduction_var_analysis.cc23 * Since graph traversal may enter a SCC at any position, an initial representation may be rotated,
86 HInductionVarAnalysis::HInductionVarAnalysis(HGraph* graph) argument
87 : HOptimization(graph, kInductionPassName),
89 stack_(graph->GetArena()->Adapter(kArenaAllocInductionVarAnalysis)),
90 scc_(graph->GetArena()->Adapter(kArenaAllocInductionVarAnalysis)),
92 graph->GetArena()->Adapter(kArenaAllocInductionVarAnalysis)),
94 graph->GetArena()->Adapter(kArenaAllocInductionVarAnalysis)),
96 graph->GetArena()->Adapter(kArenaAllocInductionVarAnalysis)) {
114 // Find strongly connected components (SSCs) in the SSA graph of this loop using Tarjan's
H A Dinduction_var_range.cc203 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 Dcode_generator.cc556 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 Dload_store_elimination.cc193 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 Doptimizing_compiler.cc124 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 Dreference_type_propagation.cc74 RTPVisitor(HGraph* graph, argument
79 : HGraphDelegateVisitor(graph),
116 ReferenceTypePropagation::ReferenceTypePropagation(HGraph* graph, argument
121 : HOptimization(graph, name),
124 worklist_(graph->GetArena()->Adapter(kArenaAllocReferenceTypePropagation)),
129 // TODO: move this to the graph checker.
634 // should remove it from the graph.
H A Dbounds_check_elimination.cc524 BCEVisitor(HGraph* graph, argument
527 : HGraphVisitor(graph),
528 maps_(graph->GetBlocks().size(),
531 graph->GetArena()->Adapter(kArenaAllocBoundsCheckElimination)),
532 graph->GetArena()->Adapter(kArenaAllocBoundsCheckElimination)),
535 graph->GetArena()->Adapter(kArenaAllocBoundsCheckElimination)),
537 graph->GetArena()->Adapter(kArenaAllocBoundsCheckElimination)),
541 graph->GetArena()->Adapter(kArenaAllocBoundsCheckElimination)),
544 graph->GetArena()->Adapter(kArenaAllocBoundsCheckElimination)),
545 finite_loop_(graph
1685 HGraph* graph = GetGraph(); local
[all...]
H A Dcode_generator.h171 // 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 Dinstruction_simplifier.cc27 InstructionSimplifierVisitor(HGraph* graph, OptimizingCompilerStats* stats) argument
28 : HGraphDelegateVisitor(graph),
509 HGraph* graph = GetGraph(); local
512 instruction->ReplaceWith(graph->GetIntConstant(0));
525 HNotEqual* test = new (graph->GetArena()) HNotEqual(graph->GetNullConstant(), object);
530 instruction->ReplaceWith(graph->GetIntConstant(outcome));
H A Dnodes.cc149 // (1) Find the back edges in the graph doing a DFS traversal.
263 // Check if the graph has back edges not dominated by their respective headers.
341 // this graph.
482 // entry block. Note that this method can be called from the graph builder and
506 // id and/or any invariants the graph is assuming when adding new instructions.
522 // id and/or any invariants the graph is assuming when adding new instructions.
654 HGraph* graph = header_->GetGraph(); local
661 ArenaBitVector visited(graph->GetArena(),
662 graph->GetBlocks().size(),
677 if (!is_irreducible_loop && graph
1169 HGraph* graph = GetBlock()->GetGraph(); local
[all...]
H A Dssa_liveness_analysis.h972 bool IsLinearOrderWellFormed(const HGraph& graph) { argument
973 for (HBasicBlock* header : graph.GetBlocks()) {
982 for (HLinearOrderIterator it(graph); !it.Done(); it.Advance()) {
1140 * (c) When the graph has the debuggable property, environment uses
1142 * If the graph does not have the debuggable property, the environment
1149 SsaLivenessAnalysis(HGraph* graph, CodeGenerator* codegen) argument
1150 : graph_(graph),
1152 block_infos_(graph->GetBlocks().size(),
1154 graph->GetArena()->Adapter(kArenaAllocSsaLiveness)),
1155 instructions_from_ssa_index_(graph
[all...]
H A Dcode_generator_mips64.cc402 CodeGeneratorMIPS64::CodeGeneratorMIPS64(HGraph* graph, argument
406 : CodeGenerator(graph,
417 location_builder_(graph, this),
418 instruction_visitor_(graph, this),
419 move_resolver_(graph->GetArena(), this),
420 assembler_(graph->GetArena()),
1012 InstructionCodeGeneratorMIPS64::InstructionCodeGeneratorMIPS64(HGraph* graph, argument
1014 : InstructionCodeGenerator(graph, codegen),
H A Dcode_generator_arm64.cc890 CodeGeneratorARM64::CodeGeneratorARM64(HGraph* graph, argument
894 : CodeGenerator(graph,
902 block_labels_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
903 jump_tables_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
904 location_builder_(graph, this),
905 instruction_visitor_(graph, this),
906 move_resolver_(graph->GetArena(), this),
907 assembler_(graph->GetArena()),
910 graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
912 graph
1543 InstructionCodeGeneratorARM64(HGraph* graph, CodeGeneratorARM64* codegen) argument
[all...]
H A Dcode_generator_mips.cc456 CodeGeneratorMIPS::CodeGeneratorMIPS(HGraph* graph, argument
460 : CodeGenerator(graph,
471 location_builder_(graph, this),
472 instruction_visitor_(graph, this),
473 move_resolver_(graph->GetArena(), this),
474 assembler_(graph->GetArena(), &isa_features),
1130 InstructionCodeGeneratorMIPS::InstructionCodeGeneratorMIPS(HGraph* graph, argument
1132 : InstructionCodeGenerator(graph, codegen),
H A Dcode_generator_arm.cc762 CodeGeneratorARM::CodeGeneratorARM(HGraph* graph, argument
766 : CodeGenerator(graph,
777 location_builder_(graph, this),
778 instruction_visitor_(graph, this),
779 move_resolver_(graph->GetArena(), this),
780 assembler_(graph->GetArena()),
783 graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
785 graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
787 graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
788 relative_call_patches_(graph
865 InstructionCodeGeneratorARM(HGraph* graph, CodeGeneratorARM* codegen) argument
[all...]
H A Dcode_generator_x86.cc780 CodeGeneratorX86::CodeGeneratorX86(HGraph* graph, argument
784 : CodeGenerator(graph,
795 location_builder_(graph, this),
796 instruction_visitor_(graph, this),
797 move_resolver_(graph->GetArena(), this),
798 assembler_(graph->GetArena()),
800 method_patches_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
801 relative_call_patches_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
802 pc_relative_dex_cache_patches_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
803 simple_patches_(graph
833 InstructionCodeGeneratorX86(HGraph* graph, CodeGeneratorX86* codegen) argument
[all...]
H A Dcode_generator_x86_64.cc991 CodeGeneratorX86_64::CodeGeneratorX86_64(HGraph* graph, argument
995 : CodeGenerator(graph,
1007 location_builder_(graph, this),
1008 instruction_visitor_(graph, this),
1009 move_resolver_(graph->GetArena(), this),
1010 assembler_(graph->GetArena()),
1013 method_patches_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
1014 relative_call_patches_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
1015 pc_relative_dex_cache_patches_(graph->GetArena()->Adapter(kArenaAllocCodeGenerator)),
1016 simple_patches_(graph
1022 InstructionCodeGeneratorX86_64(HGraph* graph, CodeGeneratorX86_64* codegen) argument
[all...]
H A Dnodes.h275 // Control-flow graph of a method. Contains a list of basic blocks.
345 // Analyze all natural loops in this graph. Returns a code specifying that it
354 // Inline this graph in `outer_graph`, replacing the given `invoke` instruction.
371 // Removes `block` from the graph. Assumes `block` has been disconnected from
463 // already, it is created and inserted into the graph. This method is only for
515 // The instruction has been inserted into the graph, either as a constant, or
548 // Cache a float constant into the graph. This method should only be
569 // The maximum number of virtual registers arguments passed to a HInvoke in this graph.
584 // Flag whether there are any try/catch blocks in the graph. We will skip
588 // Flag whether there are any irreducible loops in the graph
649 HLoopInformation(HBasicBlock* header, HGraph* graph) argument
815 HBasicBlock(HGraph* graph, uint32_t dex_pc = kNoDexPc) argument
879 SetGraph(HGraph* graph) argument
[all...]

Completed in 267 milliseconds

123