/art/compiler/dex/ |
H A D | dataflow_iterator.h | 21 #include "mir_graph.h" 67 * @param mir_graph the MIRGraph we are interested in. 71 DataflowIterator(MIRGraph* mir_graph, int32_t start_idx, int32_t end_idx) argument 72 : mir_graph_(mir_graph), 121 * @param mir_graph The MIRGraph considered. 123 explicit PreOrderDfsIterator(MIRGraph* mir_graph) argument 124 : DataflowIterator(mir_graph, 0, mir_graph->GetNumReachableBlocks()) { 127 block_id_list_ = mir_graph->GetDfsOrder(); 152 * @param mir_graph Th 154 RepeatingPreOrderDfsIterator(MIRGraph* mir_graph) argument 185 RepeatingPostOrderDfsIterator(MIRGraph* mir_graph) argument 215 ReversePostOrderDfsIterator(MIRGraph* mir_graph) argument 246 RepeatingReversePostOrderDfsIterator(MIRGraph* mir_graph) argument 276 PostOrderDOMIterator(MIRGraph* mir_graph) argument 306 AllNodesIterator(MIRGraph* mir_graph) argument 339 TopologicalSortIterator(MIRGraph* mir_graph) argument 371 RepeatingTopologicalSortIterator(MIRGraph* mir_graph) argument 410 LoopRepeatingTopologicalSortIterator(MIRGraph* mir_graph) argument [all...] |
H A D | bb_optimizations.h | 38 c_unit->mir_graph->DoCacheFieldLoweringInfo(); 45 return c_unit->mir_graph->HasFieldAccess(); 62 c_unit->mir_graph->DoCacheMethodLoweringInfo(); 69 return c_unit->mir_graph->HasInvokes(); 88 return c_unit->mir_graph->InlineSpecialMethodsGate(); 95 c_unit->mir_graph->InlineSpecialMethodsStart(); 105 c_unit->mir_graph->InlineSpecialMethods(bb); 114 c_unit->mir_graph->InlineSpecialMethodsEnd(); 131 c_unit->mir_graph->VerifyDataflow(); 132 c_unit->mir_graph [all...] |
H A D | post_opt_passes.h | 41 c_unit->mir_graph.get()->InitializeBasicBlockData(); 42 c_unit->mir_graph.get()->SSATransformationStart(); 97 c_unit->mir_graph.get()->ComputeDFSOrders(); 114 c_unit->mir_graph.get()->ComputeDominators(); 115 c_unit->mir_graph.get()->CompilerInitializeSSAConversion(); 124 c_unit->mir_graph->VerifyDataflow(); 142 c_unit->mir_graph.get()->ComputeTopologicalSortOrder(); 159 c_unit->mir_graph.get()->ComputeDefBlockMatrix(); 176 c_unit->mir_graph.get()->InsertPhiNodes(); 194 c_unit->mir_graph 211 MIRGraph *mir_graph = c_unit->mir_graph.get(); local [all...] |
H A D | bb_optimizations.cc | 33 c_unit->mir_graph->LayoutBlocks(bb); 48 c_unit->mir_graph->CombineBlocks(bb); 67 c_unit->mir_graph->BasicBlockOptimization();
|
H A D | mir_graph_test.cc | 17 #include "mir_graph.h" 59 cu_.mir_graph->block_id_map_.clear(); 60 cu_.mir_graph->block_list_.Reset(); 67 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); 68 cu_.mir_graph->block_list_.Insert(bb); 100 cu_.mir_graph->num_blocks_ = count; 101 ASSERT_EQ(count, cu_.mir_graph->block_list_.Size()); 102 cu_.mir_graph->entry_block_ = cu_.mir_graph->block_list_.Get(1); 103 ASSERT_EQ(kEntryBlock, cu_.mir_graph [all...] |
H A D | post_opt_passes.cc | 31 c_unit->mir_graph->InitializeMethodUses(); 46 c_unit->mir_graph->CountUses(bb); 82 MIRGraph *mir_graph = c_unit->mir_graph.get(); local 85 AllNodesIterator first(mir_graph); 91 AllNodesIterator second(mir_graph); 99 ChildBlockIterator child_iter(bb, mir_graph);
|
H A D | mir_optimization_test.cc | 79 cu_.mir_graph->sfield_lowering_infos_.Reset(); 80 cu_.mir_graph->sfield_lowering_infos_.Resize(count); 92 cu_.mir_graph->sfield_lowering_infos_.Insert(field_info); 102 cu_.mir_graph->block_id_map_.clear(); 103 cu_.mir_graph->block_list_.Reset(); 110 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); 111 cu_.mir_graph->block_list_.Insert(bb); 143 cu_.mir_graph->num_blocks_ = count; 144 ASSERT_EQ(count, cu_.mir_graph->block_list_.Size()); 145 cu_.mir_graph [all...] |
H A D | compiler_ir.h | 84 // TODO: move memory management to mir_graph, or just switch to using standard containers. 88 std::unique_ptr<MIRGraph> mir_graph; // MIR container. member in struct:art::CompilationUnit
|
H A D | pass_driver_me_opts.cc | 85 c_unit->mir_graph.get()->CalculateBasicBlockInformation();
|
H A D | frontend.cc | 504 mir_graph(nullptr), 557 // This is a limitation in mir_graph. See MirGraph::SetNumSSARegs. 579 for (unsigned int idx = 0; idx < cu.mir_graph->GetNumBlocks(); idx++) { 580 BasicBlock* bb = cu.mir_graph->GetBasicBlock(idx); 705 cu.mir_graph.reset(new MIRGraph(&cu, &cu.arena)); 716 cu.mir_graph->EnableOpcodeCounting(); 720 cu.mir_graph->InlineMethod(code_item, access_flags, invoke_type, class_def_idx, method_idx, 731 if (cu.mir_graph->SkipCompilation(&skip_message)) { 743 && !cu.mir_graph->MethodIsLeaf() 744 && cu.mir_graph [all...] |
H A D | pass_driver_me.h | 136 c_unit->mir_graph->DumpCFG(prefix.c_str(), false); 175 Iterator iterator(c_unit->mir_graph.get());
|
H A D | mir_graph.cc | 17 #include "mir_graph.h" 1198 MIR* BasicBlock::GetNextUnconditionalMir(MIRGraph* mir_graph, MIR* current) { argument 1208 next_mir = mir_graph->GetBasicBlock(fall_through)->first_mir_insn; 1540 MIRGraph* mir_graph, const ArenaBitVector* current_loop, 1549 ArenaBitVector candidate_reachable(allocator, mir_graph->GetNumBlocks(), false, kBitMapMisc); 1550 AllNodesIterator iter(mir_graph); 1566 BasicBlock* current_bb = mir_graph->GetBasicBlock(current_id); 1568 ChildBlockIterator child_iter(current_bb, mir_graph); 1593 static void ComputeUnvisitedReachableFrom(MIRGraph* mir_graph, BasicBlockId bb_id, argument 1603 BasicBlock* current_bb = mir_graph 1539 SelectTopologicalSortOrderFallBack( MIRGraph* mir_graph, const ArenaBitVector* current_loop, const ScopedArenaVector<size_t>* visited_cnt_values, ScopedArenaAllocator* allocator, ScopedArenaVector<BasicBlockId>* tmp_stack) argument 1808 ChildBlockIterator(BasicBlock* bb, MIRGraph* mir_graph) argument 1862 MIRGraph* mir_graph = c_unit->mir_graph.get(); local 1866 Copy(MIRGraph* mir_graph) argument 1909 Copy(MIRGraph* mir_graph) argument 2047 MIRGraph* mir_graph = c_unit->mir_graph.get(); local [all...] |
H A D | global_value_numbering_test.cc | 132 cu_.mir_graph->ifield_lowering_infos_.Reset(); 133 cu_.mir_graph->ifield_lowering_infos_.Resize(count); 143 cu_.mir_graph->ifield_lowering_infos_.Insert(field_info); 153 cu_.mir_graph->sfield_lowering_infos_.Reset(); 154 cu_.mir_graph->sfield_lowering_infos_.Resize(count); 166 cu_.mir_graph->sfield_lowering_infos_.Insert(field_info); 176 cu_.mir_graph->block_id_map_.clear(); 177 cu_.mir_graph->block_list_.Reset(); 184 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); 185 cu_.mir_graph [all...] |
H A D | local_value_numbering_test.cc | 89 cu_.mir_graph->ifield_lowering_infos_.Reset(); 90 cu_.mir_graph->ifield_lowering_infos_.Resize(count); 100 cu_.mir_graph->ifield_lowering_infos_.Insert(field_info); 110 cu_.mir_graph->sfield_lowering_infos_.Reset(); 111 cu_.mir_graph->sfield_lowering_infos_.Resize(count); 123 cu_.mir_graph->sfield_lowering_infos_.Insert(field_info); 143 ASSERT_LT(def->field_info, cu_.mir_graph->ifield_lowering_infos_.Size()); 146 ASSERT_LT(def->field_info, cu_.mir_graph->sfield_lowering_infos_.Size()); 173 CHECK_LT(sfield_index, cu_.mir_graph->sfield_lowering_infos_.Size()); 174 cu_.mir_graph [all...] |
H A D | global_value_numbering.cc | 25 mir_graph_(cu->mir_graph.get()),
|
H A D | mir_graph.h | 433 BasicBlock* Copy(MIRGraph* mir_graph); 467 * @param mir_graph the MIRGraph. 471 MIR* GetNextUnconditionalMir(MIRGraph* mir_graph, MIR* current); 499 * @param mir_graph The MIRGraph used to get the basic block during iteration. 501 ChildBlockIterator(BasicBlock* bb, MIRGraph* mir_graph);
|
/art/compiler/ |
H A D | compilers.cc | 19 #include "dex/mir_graph.h" 105 mir_to_lir = ArmCodeGenerator(cu, cu->mir_graph.get(), &cu->arena); 108 mir_to_lir = Arm64CodeGenerator(cu, cu->mir_graph.get(), &cu->arena); 111 mir_to_lir = MipsCodeGenerator(cu, cu->mir_graph.get(), &cu->arena); 116 mir_to_lir = X86CodeGenerator(cu, cu->mir_graph.get(), &cu->arena); 125 bool set_max = cu->mir_graph->SetMaxAvailableNonSpecialCompilerTemps(max_temps);
|
H A D | compiler.cc | 150 cu, cu->mir_graph.get(), &cu->arena,
|
/art/compiler/dex/quick/ |
H A D | dex_file_method_inliner.cc | 27 #include "dex/mir_graph.h" 102 MIR* AllocReplacementMIR(MIRGraph* mir_graph, MIR* invoke, MIR* move_return) { argument 103 MIR* insn = mir_graph->NewMIR(); 529 bool DexFileMethodInliner::GenInline(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, argument 547 move_result = mir_graph->FindMoveResult(bb, invoke); 548 result = GenInlineConst(mir_graph, bb, invoke, move_result, method); 551 move_result = mir_graph->FindMoveResult(bb, invoke); 552 result = GenInlineReturnArg(mir_graph, bb, invoke, move_result, method); 555 move_result = mir_graph->FindMoveResult(bb, invoke); 556 result = GenInlineIGet(mir_graph, b 711 GenInlineConst(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method) argument 732 GenInlineReturnArg(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method) argument 770 GenInlineIGet(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method, uint32_t method_idx) argument 822 GenInlineIPut(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method, uint32_t method_idx) argument [all...] |
H A D | dex_file_method_inliner.h | 90 bool GenInline(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, uint32_t method_idx) 313 static bool GenInlineConst(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 315 static bool GenInlineReturnArg(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 317 static bool GenInlineIGet(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 319 static bool GenInlineIPut(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke,
|
H A D | mir_to_lir.h | 191 Mir2Lir* ArmCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, 193 Mir2Lir* Arm64CodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, 195 Mir2Lir* MipsCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, 197 Mir2Lir* X86CodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, 1461 Mir2Lir(CompilationUnit* cu, MIRGraph* mir_graph, ArenaAllocator* arena);
|
/art/compiler/dex/portable/ |
H A D | mir_to_gbc.h | 46 Backend* PortableCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, 53 MirConverter(CompilationUnit* cu, MIRGraph* mir_graph, ArenaAllocator* arena, argument 57 mir_graph_(mir_graph), 69 llvm_values_(arena, mir_graph->GetNumSSARegs()),
|
/art/compiler/dex/quick/mips/ |
H A D | target_mips.cc | 574 MipsMir2Lir::MipsMir2Lir(CompilationUnit* cu, MIRGraph* mir_graph, ArenaAllocator* arena) argument 575 : Mir2Lir(cu, mir_graph, arena) { 585 Mir2Lir* MipsCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, argument 587 return new MipsMir2Lir(cu, mir_graph, arena);
|
/art/compiler/dex/quick/arm/ |
H A D | target_arm.cc | 552 ArmMir2Lir::ArmMir2Lir(CompilationUnit* cu, MIRGraph* mir_graph, ArenaAllocator* arena) argument 553 : Mir2Lir(cu, mir_graph, arena) { 564 Mir2Lir* ArmCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, argument 566 return new ArmMir2Lir(cu, mir_graph, arena);
|
/art/compiler/dex/quick/arm64/ |
H A D | target_arm64.cc | 580 Arm64Mir2Lir::Arm64Mir2Lir(CompilationUnit* cu, MIRGraph* mir_graph, ArenaAllocator* arena) argument 581 : Mir2Lir(cu, mir_graph, arena) { 592 Mir2Lir* Arm64CodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph, argument 594 return new Arm64Mir2Lir(cu, mir_graph, arena);
|