Searched refs:mir_graph (Results 1 - 25 of 44) sorted by relevance

12

/art/compiler/dex/
H A Ddataflow_iterator.h21 #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 Dpost_opt_passes.h24 #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 Dpost_opt_passes.cc53 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 Dbb_optimizations.h24 #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 Dbb_optimizations.cc33 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 Dmir_graph_test.cc19 #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 Dmir_optimization_test.cc100 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 Dtype_inference_test.cc22 #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 Dtype_inference.cc26 #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 Dcompiler_ir.cc24 #include "mir_graph.h"
47 mir_graph(nullptr),
H A Dpass_driver_me_opts.cc71 c_unit->mir_graph.get()->CalculateBasicBlockInformation(post_opt_pass_manager_);
H A Dgvn_dead_code_elimination_test.cc144 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 Dlocal_value_numbering_test.cc95 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 Dtype_inference.h69 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 Dglobal_value_numbering_test.cc141 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 Dmir_graph.cc17 #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 Dbackend_arm.h27 Mir2Lir* ArmCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
/art/compiler/dex/quick/arm64/
H A Dbackend_arm64.h27 Mir2Lir* Arm64CodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
/art/compiler/dex/quick/mips/
H A Dbackend_mips.h27 Mir2Lir* MipsCodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
/art/compiler/dex/quick/x86/
H A Dbackend_x86.h27 Mir2Lir* X86CodeGenerator(CompilationUnit* const cu, MIRGraph* const mir_graph,
H A Dquick_assemble_x86_test.cc80 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 Ddex_file_method_inliner.cc26 #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 Ddex_file_method_inliner.h95 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 Dquick_compiler.cc31 #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 Dquick_cfi_test.cc24 #include "dex/mir_graph.h"
84 cu.mir_graph.reset(new MIRGraph(&cu, &arena));
85 cu.mir_graph->current_code_item_ = &code_item;

Completed in 3406 milliseconds

12