/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 335 TopologicalSortIterator(MIRGraph* mir_graph) argument 375 LoopRepeatingTopologicalSortIterator(MIRGraph* mir_graph) argument [all...] |
H A D | post_opt_passes.h | 24 #include "mir_graph.h" 43 return !c_unit->mir_graph->MirSsaRepUpToDate(); 63 c_unit->mir_graph->SSATransformationStart(); 64 c_unit->mir_graph->CompilerInitializeSSAConversion(); 105 return !c_unit->mir_graph->DfsOrdersUpToDate(); 112 c_unit->mir_graph.get()->ComputeDFSOrders(); 129 return !c_unit->mir_graph->DominationUpToDate(); 136 c_unit->mir_graph->ComputeDominators(); 145 c_unit->mir_graph->VerifyDataflow(); 163 return !c_unit->mir_graph 221 MIRGraph *mir_graph = c_unit->mir_graph.get(); local [all...] |
H A D | post_opt_passes.cc | 53 MIRGraph *mir_graph = c_unit->mir_graph.get(); local 56 AllNodesIterator first(mir_graph); 62 AllNodesIterator second(mir_graph); 70 ChildBlockIterator child_iter(bb, mir_graph);
|
H A D | bb_optimizations.h | 24 #include "mir_graph.h" 41 c_unit->mir_graph->StringChange(); 48 return c_unit->mir_graph->HasInvokes(); 65 c_unit->mir_graph->DoCacheFieldLoweringInfo(); 72 return c_unit->mir_graph->HasFieldAccess(); 89 c_unit->mir_graph->DoCacheMethodLoweringInfo(); 96 return c_unit->mir_graph->HasInvokes(); 115 return c_unit->mir_graph->InlineSpecialMethodsGate(); 122 c_unit->mir_graph->InlineSpecialMethodsStart(); 132 c_unit->mir_graph [all...] |
H A D | bb_optimizations.cc | 33 c_unit->mir_graph->LayoutBlocks(bb); 48 c_unit->mir_graph->CombineBlocks(bb); 62 c_unit->mir_graph->InitializeMethodUses(); 77 c_unit->mir_graph->CountUses(bb);
|
H A D | mir_graph_test.cc | 19 #include "mir_graph.h" 61 cu_.mir_graph->block_id_map_.clear(); 62 cu_.mir_graph->block_list_.clear(); 69 BasicBlock* bb = cu_.mir_graph->CreateNewBB(def->type); 94 ASSERT_EQ(count, cu_.mir_graph->block_list_.size()); 95 cu_.mir_graph->entry_block_ = cu_.mir_graph->block_list_[1]; 96 ASSERT_EQ(kEntryBlock, cu_.mir_graph->entry_block_->block_type); 97 cu_.mir_graph->exit_block_ = cu_.mir_graph [all...] |
H A D | mir_optimization_test.cc | 100 cu_.mir_graph->block_id_map_.clear(); 101 cu_.mir_graph->block_list_.clear(); 108 BasicBlock* bb = cu_.mir_graph->CreateNewBB(def->type); 133 ASSERT_EQ(count, cu_.mir_graph->block_list_.size()); 134 cu_.mir_graph->entry_block_ = cu_.mir_graph->block_list_[1]; 135 ASSERT_EQ(kEntryBlock, cu_.mir_graph->entry_block_->block_type); 136 cu_.mir_graph->exit_block_ = cu_.mir_graph->block_list_[2]; 137 ASSERT_EQ(kExitBlock, cu_.mir_graph [all...] |
H A D | type_inference_test.cc | 22 #include "dex/mir_graph.h" 252 cu_.mir_graph->m_units_.push_back(new (cu_.mir_graph->arena_) DexCompilationUnit( 256 cu_.mir_graph->current_method_ = 0u; 262 cu_.mir_graph->current_code_item_ = code_item_; 263 cu_.mir_graph->num_ssa_regs_ = kMaxSsaRegs; 265 cu_.mir_graph->ifield_lowering_infos_.clear(); 266 cu_.mir_graph->ifield_lowering_infos_.reserve(ifield_count_); 274 cu_.mir_graph->ifield_lowering_infos_.push_back(field_info); 277 cu_.mir_graph [all...] |
H A D | type_inference.cc | 26 #include "mir_graph.h" 153 TypeInference::CheckCastData::CheckCastData(MIRGraph* mir_graph, ScopedArenaAllocator* alloc) argument 154 : mir_graph_(mir_graph), 156 num_blocks_(mir_graph->GetNumBlocks()), 157 num_sregs_(mir_graph->GetNumSSARegs()), 393 TypeInference::TypeInference(MIRGraph* mir_graph, ScopedArenaAllocator* alloc) argument 394 : mir_graph_(mir_graph), 395 cu_(mir_graph->GetCurrentDexCompilationUnit()->GetCompilationUnit()), 396 check_cast_data_(!mir_graph->HasCheckCast() ? nullptr : 397 InitializeCheckCastData(mir_graph, allo 599 PrepareIFieldTypes(const DexFile* dex_file, MIRGraph* mir_graph, ScopedArenaAllocator* alloc) argument 616 PrepareSFieldTypes(const DexFile* dex_file, MIRGraph* mir_graph, ScopedArenaAllocator* alloc) argument 650 PrepareSignatures(const DexFile* dex_file, MIRGraph* mir_graph, ScopedArenaAllocator* alloc) argument 665 InitializeCheckCastData(MIRGraph* mir_graph, ScopedArenaAllocator* alloc) argument [all...] |
H A D | compiler_ir.cc | 24 #include "mir_graph.h" 47 mir_graph(nullptr),
|
H A D | pass_driver_me_opts.cc | 71 c_unit->mir_graph.get()->CalculateBasicBlockInformation(post_opt_pass_manager_);
|
H A D | gvn_dead_code_elimination_test.cc | 144 cu_.mir_graph->ifield_lowering_infos_.clear(); 145 cu_.mir_graph->ifield_lowering_infos_.reserve(count); 156 cu_.mir_graph->ifield_lowering_infos_.push_back(field_info); 166 cu_.mir_graph->sfield_lowering_infos_.clear(); 167 cu_.mir_graph->sfield_lowering_infos_.reserve(count); 181 cu_.mir_graph->sfield_lowering_infos_.push_back(field_info); 191 cu_.mir_graph->block_id_map_.clear(); 192 cu_.mir_graph->block_list_.clear(); 199 BasicBlock* bb = cu_.mir_graph->CreateNewBB(def->type); 226 ASSERT_EQ(count, cu_.mir_graph [all...] |
H A D | local_value_numbering_test.cc | 95 cu_.mir_graph->ifield_lowering_infos_.clear(); 96 cu_.mir_graph->ifield_lowering_infos_.reserve(count); 105 cu_.mir_graph->ifield_lowering_infos_.push_back(field_info); 115 cu_.mir_graph->sfield_lowering_infos_.clear(); 116 cu_.mir_graph->sfield_lowering_infos_.reserve(count); 128 cu_.mir_graph->sfield_lowering_infos_.push_back(field_info); 148 ASSERT_LT(def->field_info, cu_.mir_graph->ifield_lowering_infos_.size()); 150 ASSERT_EQ(cu_.mir_graph->ifield_lowering_infos_[def->field_info].MemAccessType(), 153 ASSERT_LT(def->field_info, cu_.mir_graph->sfield_lowering_infos_.size()); 155 ASSERT_EQ(cu_.mir_graph [all...] |
H A D | type_inference.h | 69 TypeInference(MIRGraph* mir_graph, ScopedArenaAllocator* alloc); 372 CheckCastData(MIRGraph* mir_graph, ScopedArenaAllocator* alloc); 410 static Type* PrepareIFieldTypes(const DexFile* dex_file, MIRGraph* mir_graph, 412 static Type* PrepareSFieldTypes(const DexFile* dex_file, MIRGraph* mir_graph, 416 static MethodSignature* PrepareSignatures(const DexFile* dex_file, MIRGraph* mir_graph, 418 static CheckCastData* InitializeCheckCastData(MIRGraph* mir_graph, ScopedArenaAllocator* alloc);
|
H A D | global_value_numbering_test.cc | 141 cu_.mir_graph->ifield_lowering_infos_.clear(); 142 cu_.mir_graph->ifield_lowering_infos_.reserve(count); 151 cu_.mir_graph->ifield_lowering_infos_.push_back(field_info); 161 cu_.mir_graph->sfield_lowering_infos_.clear(); 162 cu_.mir_graph->sfield_lowering_infos_.reserve(count); 174 cu_.mir_graph->sfield_lowering_infos_.push_back(field_info); 184 cu_.mir_graph->block_id_map_.clear(); 185 cu_.mir_graph->block_list_.clear(); 192 BasicBlock* bb = cu_.mir_graph->CreateNewBB(def->type); 218 ASSERT_EQ(count, cu_.mir_graph [all...] |
H A D | mir_graph.cc | 17 #include "mir_graph.h" 1266 MIR* BasicBlock::GetNextUnconditionalMir(MIRGraph* mir_graph, MIR* current) { argument 1276 next_mir = mir_graph->GetBasicBlock(fall_through)->first_mir_insn; 1859 MIRGraph* mir_graph, const ArenaBitVector* current_loop, 1868 ArenaBitVector candidate_reachable(allocator, mir_graph->GetNumBlocks(), false, kBitMapMisc); 1869 AllNodesIterator iter(mir_graph); 1885 BasicBlock* current_bb = mir_graph->GetBasicBlock(current_id); 1887 ChildBlockIterator child_iter(current_bb, mir_graph); 1912 static void ComputeUnvisitedReachableFrom(MIRGraph* mir_graph, BasicBlockId bb_id, argument 1922 BasicBlock* current_bb = mir_graph 1858 SelectTopologicalSortOrderFallBack( MIRGraph* mir_graph, const ArenaBitVector* current_loop, const ScopedArenaVector<size_t>* visited_cnt_values, ScopedArenaAllocator* allocator, ScopedArenaVector<BasicBlockId>* tmp_stack) argument 2104 ChildBlockIterator(BasicBlock* bb, MIRGraph* mir_graph) argument 2159 MIRGraph* mir_graph = c_unit->mir_graph.get(); local 2163 Copy(MIRGraph* mir_graph) argument 2201 Copy(MIRGraph* mir_graph) argument 2326 Kill(MIRGraph* mir_graph) argument [all...] |
/art/compiler/dex/quick/arm/ |
H A D | backend_arm.h | 27 Mir2Lir* ArmCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
|
/art/compiler/dex/quick/arm64/ |
H A D | backend_arm64.h | 27 Mir2Lir* Arm64CodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
|
/art/compiler/dex/quick/mips/ |
H A D | backend_mips.h | 27 Mir2Lir* MipsCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
|
/art/compiler/dex/quick/x86/ |
H A D | backend_x86.h | 27 Mir2Lir* X86CodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
|
H A D | quick_assemble_x86_test.cc | 80 cu_->mir_graph.reset(new MIRGraph(cu_.get(), &cu_->arena)); 81 cu_->mir_graph->current_code_item_ = code_item; 202 MIR* mir = cu_->mir_graph->NewMIR();
|
/art/compiler/dex/quick/ |
H A D | dex_file_method_inliner.cc | 26 #include "dex/mir_graph.h" 113 MIR* AllocReplacementMIR(MIRGraph* mir_graph, MIR* invoke) { argument 114 MIR* insn = mir_graph->NewMIR(); 642 bool DexFileMethodInliner::GenInline(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, argument 660 move_result = mir_graph->FindMoveResult(bb, invoke); 661 result = GenInlineConst(mir_graph, bb, invoke, move_result, method); 664 move_result = mir_graph->FindMoveResult(bb, invoke); 665 result = GenInlineReturnArg(mir_graph, bb, invoke, move_result, method); 668 move_result = mir_graph->FindMoveResult(bb, invoke); 669 result = GenInlineIGet(mir_graph, b 839 GenInlineConst(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method) argument 861 GenInlineReturnArg(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method) argument 900 GenInlineIGet(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method) argument 949 GenInlineIPut(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, MIR* move_result, const InlineMethod& method) argument [all...] |
H A D | dex_file_method_inliner.h | 95 bool GenInline(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, uint32_t method_idx) 360 static bool GenInlineConst(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 362 static bool GenInlineReturnArg(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 364 static bool GenInlineIGet(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, 366 static bool GenInlineIPut(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke,
|
H A D | quick_compiler.cc | 31 #include "dex/mir_graph.h" 494 // This is a limitation in mir_graph. See MirGraph::SetNumSSARegs. 495 if (cu->mir_graph->GetNumOfCodeAndTempVRs() > kMaxAllowedDalvikRegisters) { 496 VLOG(compiler) << "Too many dalvik registers : " << cu->mir_graph->GetNumOfCodeAndTempVRs(); 516 for (unsigned int idx = 0; idx < cu->mir_graph->GetNumBlocks(); idx++) { 517 BasicBlock* bb = cu->mir_graph->GetBasicBlock(idx); 685 cu.mir_graph.reset(new MIRGraph(&cu, &cu.arena)); 696 cu.mir_graph->EnableOpcodeCounting(); 700 cu.mir_graph->InlineMethod(code_item, access_flags, invoke_type, class_def_idx, method_idx, 712 if (cu.mir_graph [all...] |
H A D | quick_cfi_test.cc | 24 #include "dex/mir_graph.h" 84 cu.mir_graph.reset(new MIRGraph(&cu, &arena)); 85 cu.mir_graph->current_code_item_ = &code_item;
|