Home
last modified time | relevance | path

Searched refs:bb (Results 1 – 25 of 48) sorted by relevance

12

/art/compiler/dex/
Dssa_transformation.cc27 for (BasicBlock* bb = iter.Next(); bb != NULL; bb = iter.Next()) { in ClearAllVisitedFlags() local
28 bb->visited = false; in ClearAllVisitedFlags()
32 BasicBlock* MIRGraph::NeedsVisit(BasicBlock* bb) { in NeedsVisit() argument
33 if (bb != NULL) { in NeedsVisit()
34 if (bb->visited || bb->hidden) { in NeedsVisit()
35 bb = NULL; in NeedsVisit()
38 return bb; in NeedsVisit()
41 BasicBlock* MIRGraph::NextUnvisitedSuccessor(BasicBlock* bb) { in NextUnvisitedSuccessor() argument
42 BasicBlock* res = NeedsVisit(GetBasicBlock(bb->fall_through)); in NextUnvisitedSuccessor()
44 res = NeedsVisit(GetBasicBlock(bb->taken)); in NextUnvisitedSuccessor()
[all …]
Dpost_opt_passes.cc44 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
45 DCHECK(bb != nullptr); in Worker()
46 c_unit->mir_graph->CountUses(bb); in Worker()
57 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
58 DCHECK(bb != nullptr); in Worker()
59 MIR* mir = bb->first_mir_insn; in Worker()
67 bb->RemoveMIR(mir); in Worker()
86 for (BasicBlock* bb = first.Next(); bb != nullptr; bb = first.Next()) { in Start() local
87 bb->predecessors->Reset(); in Start()
92 for (BasicBlock* bb = second.Next(); bb != nullptr; bb = second.Next()) { in Start() local
[all …]
Dmir_optimization.cc28 static unsigned int Predecessors(BasicBlock* bb) { in Predecessors() argument
29 return bb->predecessors->Size(); in Predecessors()
45 void MIRGraph::DoConstantPropagation(BasicBlock* bb) { in DoConstantPropagation() argument
48 for (mir = bb->first_mir_insn; mir != NULL; mir = mir->next) { in DoConstantPropagation()
108 BasicBlock* bb = *p_bb; in AdvanceMIR() local
112 bb = GetBasicBlock(bb->fall_through); in AdvanceMIR()
113 if ((bb == NULL) || Predecessors(bb) != 1) { in AdvanceMIR()
116 *p_bb = bb; in AdvanceMIR()
117 mir = bb->first_mir_insn; in AdvanceMIR()
131 MIR* MIRGraph::FindMoveResult(BasicBlock* bb, MIR* mir) { in FindMoveResult() argument
[all …]
Dglobal_value_numbering.cc46 LocalValueNumbering* GlobalValueNumbering::PrepareBasicBlock(BasicBlock* bb, in PrepareBasicBlock() argument
51 if (UNLIKELY(bb->data_flow_info == nullptr)) { in PrepareBasicBlock()
54 if (UNLIKELY(bb->block_type == kExitBlock)) { in PrepareBasicBlock()
55 DCHECK(bb->first_mir_insn == nullptr); in PrepareBasicBlock()
66 work_lvn_.reset(new (allocator) LocalValueNumbering(this, bb->id, allocator)); in PrepareBasicBlock()
67 if (bb->block_type == kEntryBlock) { in PrepareBasicBlock()
95 loop_head_idx != mir_graph_->GetTopologicalSortOrderIndexes()->Get(bb->id); in PrepareBasicBlock()
97 GrowableArray<BasicBlockId>::Iterator iter(bb->predecessors); in PrepareBasicBlock()
108 if (bb->catch_entry) { in PrepareBasicBlock()
110 } else if (bb->last_mir_insn != nullptr && in PrepareBasicBlock()
[all …]
Dbb_optimizations.cc31 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
32 DCHECK(bb != nullptr); in Worker()
33 c_unit->mir_graph->LayoutBlocks(bb); in Worker()
46 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
47 DCHECK(bb != nullptr); in Worker()
48 c_unit->mir_graph->CombineBlocks(bb); in Worker()
Dmir_graph.cc208 BasicBlock* bb = GetBasicBlock(successor_block_info->block); in SplitBlock() local
209 if (bb != nullptr) { in SplitBlock()
210 bb->predecessors->Delete(orig_block->id); in SplitBlock()
211 bb->predecessors->Insert(bottom_block->id); in SplitBlock()
241 p->bb = bottom_block->id; in SplitBlock()
273 BasicBlock* bb = (block_id == 0) ? NULL : block_list_.Get(block_id); in FindBlock() local
275 if ((bb != NULL) && (bb->start_offset == code_offset)) { in FindBlock()
277 return bb; in FindBlock()
285 if (bb != NULL) { in FindBlock()
287 return SplitBlock(code_offset, bb, bb == *immed_pred_block_p ? immed_pred_block_p : NULL); in FindBlock()
[all …]
Dbb_optimizations.h103 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
104 DCHECK(bb != nullptr); in Worker()
105 c_unit->mir_graph->InlineSpecialMethods(bb); in Worker()
160 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
161 DCHECK(bb != nullptr); in Worker()
162 return c_unit->mir_graph->EliminateNullChecksAndInferTypes(bb); in Worker()
191 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
192 DCHECK(bb != nullptr); in Worker()
193 return c_unit->mir_graph->EliminateClassInitChecks(bb); in Worker()
226 BasicBlock* bb = pass_me_data_holder->bb; in Worker() local
[all …]
Dmir_graph.h351 BasicBlockId bb; member
371 explicit MIR():offset(0), optimization_flags(0), m_unit_index(0), bb(NullBasicBlockId), in MIR()
501 ChildBlockIterator(BasicBlock* bb, MIRGraph* mir_graph);
919 MIR* FindMoveResult(BasicBlock* bb, MIR* mir);
924 bool EliminateNullChecksAndInferTypes(BasicBlock* bb);
927 bool EliminateClassInitChecks(BasicBlock* bb);
930 bool ApplyGlobalValueNumbering(BasicBlock* bb);
972 void GetBlockName(BasicBlock* bb, char* name);
975 CallInfo* NewMemCallInfo(BasicBlock* bb, MIR* mir, InvokeType type, bool is_range);
979 BasicBlock* NextDominatedBlock(BasicBlock* bb);
[all …]
Ddataflow_iterator-inl.h127 BasicBlock* bb = mir_graph_->GetBasicBlock(block_id_list_->Get(idx_ - 1)); in Next() local
128 bb->visited = true; in Next()
131 ChildBlockIterator iter(bb, mir_graph_); in Next()
163 BasicBlock* bb = mir_graph_->GetBasicBlock(block_id_list_->Get(idx)); in Next() local
164 DCHECK(bb != nullptr); in Next()
165 if (!bb->visited) { in Next()
169 return bb; in Next()
Dmir_optimization_test.cc75 #define DEF_MIR(opcode, bb, field_info) \ argument
76 { opcode, bb, field_info }
110 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); in DoPrepareBasicBlocks() local
111 cu_.mir_graph->block_list_.Insert(bb); in DoPrepareBasicBlocks()
113 bb->successor_block_list_type = kNotUsed; in DoPrepareBasicBlocks()
114 bb->successor_blocks = nullptr; in DoPrepareBasicBlocks()
115 bb->fall_through = (def->num_successors >= 1) ? def->successors[0] : 0u; in DoPrepareBasicBlocks()
116 bb->taken = (def->num_successors >= 2) ? def->successors[1] : 0u; in DoPrepareBasicBlocks()
118 bb->successor_block_list_type = kPackedSwitch; in DoPrepareBasicBlocks()
119 bb->fall_through = 0u; in DoPrepareBasicBlocks()
[all …]
Dmir_analysis.cc862 void MIRGraph::AnalyzeBlock(BasicBlock* bb, MethodStats* stats) { in AnalyzeBlock() argument
863 if (bb->visited || (bb->block_type != kDalvikByteCode)) { in AnalyzeBlock()
873 BasicBlock* ending_bb = bb; in AnalyzeBlock()
890 if ((GetBasicBlock(ending_bb->taken)->taken == bb->id) || in AnalyzeBlock()
891 (GetBasicBlock(ending_bb->taken)->fall_through == bb->id)) { in AnalyzeBlock()
896 if ((ending_bb->taken != NullBasicBlockId) && (ending_bb->taken == bb->id)) { in AnalyzeBlock()
900 BasicBlock* tbb = bb; in AnalyzeBlock()
1102 for (BasicBlock* bb = iter.Next(); bb != NULL; bb = iter.Next()) { in SkipCompilation() local
1103 AnalyzeBlock(bb, &stats); in SkipCompilation()
1120 for (BasicBlock* bb = iter.Next(); bb != nullptr; bb = iter.Next()) { in DoCacheFieldLoweringInfo() local
[all …]
Dmir_graph_test.cc67 BasicBlock* bb = cu_.mir_graph->NewMemBB(def->type, i); in DoPrepareBasicBlocks() local
68 cu_.mir_graph->block_list_.Insert(bb); in DoPrepareBasicBlocks()
70 bb->successor_block_list_type = kNotUsed; in DoPrepareBasicBlocks()
71 bb->successor_blocks = nullptr; in DoPrepareBasicBlocks()
72 bb->fall_through = (def->num_successors >= 1) ? def->successors[0] : 0u; in DoPrepareBasicBlocks()
73 bb->taken = (def->num_successors >= 2) ? def->successors[1] : 0u; in DoPrepareBasicBlocks()
75 bb->successor_block_list_type = kPackedSwitch; in DoPrepareBasicBlocks()
76 bb->fall_through = 0u; in DoPrepareBasicBlocks()
77 bb->taken = 0u; in DoPrepareBasicBlocks()
78 bb->successor_blocks = new (&cu_.arena) GrowableArray<SuccessorBlockInfo*>( in DoPrepareBasicBlocks()
[all …]
Dglobal_value_numbering_test.cc90 #define DEF_CONST(bb, opcode, reg, value) \ argument
91 { bb, opcode, value, 0u, 0, { }, 1, { reg } }
92 #define DEF_CONST_WIDE(bb, opcode, reg, value) \ argument
93 { bb, opcode, value, 0u, 0, { }, 2, { reg, reg + 1 } }
94 #define DEF_CONST_STRING(bb, opcode, reg, index) \ argument
95 { bb, opcode, index, 0u, 0, { }, 1, { reg } }
96 #define DEF_IGET(bb, opcode, reg, obj, field_info) \ argument
97 { bb, opcode, 0u, field_info, 1, { obj }, 1, { reg } }
98 #define DEF_IGET_WIDE(bb, opcode, reg, obj, field_info) \ argument
99 { bb, opcode, 0u, field_info, 1, { obj }, 2, { reg, reg + 1 } }
[all …]
Dpass_driver_me.h33 pass_me_data_holder_.bb = nullptr; in PassDriverME()
164 for (BasicBlock* bb = iterator->Next(change); bb != nullptr; bb = iterator->Next(change)) { in DoWalkBasicBlocks() local
165 data->bb = bb; in DoWalkBasicBlocks()
Dmir_dataflow.cc926 bool MIRGraph::FindLocalLiveIn(BasicBlock* bb) { in FindLocalLiveIn() argument
930 if (bb->data_flow_info == NULL) return false; in FindLocalLiveIn()
932 use_v = bb->data_flow_info->use_v = in FindLocalLiveIn()
934 def_v = bb->data_flow_info->def_v = in FindLocalLiveIn()
936 live_in_v = bb->data_flow_info->live_in_v = in FindLocalLiveIn()
939 for (mir = bb->first_mir_insn; mir != NULL; mir = mir->next) { in FindLocalLiveIn()
1073 bool MIRGraph::DoSSAConversion(BasicBlock* bb) { in DoSSAConversion() argument
1076 if (bb->data_flow_info == NULL) return false; in DoSSAConversion()
1078 for (mir = bb->first_mir_insn; mir != NULL; mir = mir->next) { in DoSSAConversion()
1190 bb->data_flow_info->vreg_to_ssa_map_exit = in DoSSAConversion()
[all …]
Dpost_opt_passes.h229 BasicBlock* bb = down_cast<const PassMEDataHolder*>(data)->bb; in Worker() local
230 DCHECK(bb != nullptr); in Worker()
231 c_unit->mir_graph->InsertPhiNodeOperands(bb); in Worker()
267 BasicBlock* bb = down_cast<const PassMEDataHolder*>(data)->bb; in Worker() local
268 DCHECK(bb != nullptr); in Worker()
269 c_unit->mir_graph->DoConstantPropagation(bb); in Worker()
/art/compiler/dex/quick/
Dmir_to_lir.cc319 bool Mir2Lir::GenSpecialCase(BasicBlock* bb, MIR* mir, const InlineMethod& special) { in GenSpecialCase() argument
336 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); in GenSpecialCase()
345 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); in GenSpecialCase()
349 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); in GenSpecialCase()
389 void Mir2Lir::CompileDalvikInstruction(MIR* mir, BasicBlock* bb, LIR* label_list) { in CompileDalvikInstruction() argument
579 GenFilledNewArray(mir_graph_->NewMemCallInfo(bb, mir, kStatic, in CompileDalvikInstruction()
584 GenFilledNewArray(mir_graph_->NewMemCallInfo(bb, mir, kStatic, in CompileDalvikInstruction()
595 if (mir_graph_->IsBackedge(bb, bb->taken) && in CompileDalvikInstruction()
596 (kLeafOptimization || !mir_graph_->HasSuspendTestBetween(bb, bb->taken))) { in CompileDalvikInstruction()
597 GenSuspendTestAndBranch(opt_flags, &label_list[bb->taken]); in CompileDalvikInstruction()
[all …]
Ddex_file_method_inliner.h90 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,
Ddex_file_method_inliner.cc529 bool DexFileMethodInliner::GenInline(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, in GenInline() argument
547 move_result = mir_graph->FindMoveResult(bb, invoke); in GenInline()
548 result = GenInlineConst(mir_graph, bb, invoke, move_result, method); in GenInline()
551 move_result = mir_graph->FindMoveResult(bb, invoke); in GenInline()
552 result = GenInlineReturnArg(mir_graph, bb, invoke, move_result, method); in GenInline()
555 move_result = mir_graph->FindMoveResult(bb, invoke); in GenInline()
556 result = GenInlineIGet(mir_graph, bb, invoke, move_result, method, method_idx); in GenInline()
559 move_result = mir_graph->FindMoveResult(bb, invoke); in GenInline()
560 result = GenInlineIPut(mir_graph, bb, invoke, move_result, method, method_idx); in GenInline()
711 bool DexFileMethodInliner::GenInlineConst(MIRGraph* mir_graph, BasicBlock* bb, MIR* invoke, in GenInlineConst() argument
[all …]
/art/compiler/dex/portable/
Dmir_to_gbc.cc138 BasicBlock* bb = mir_graph_->FindBlock(vaddr); in FindCaseTarget() local
139 DCHECK(bb != NULL); in FindCaseTarget()
140 return GetLLVMBlock(bb->id); in FindCaseTarget()
143 void MirConverter::ConvertPackedSwitch(BasicBlock* bb, in ConvertPackedSwitch() argument
152 irb_->CreateSwitch(value, GetLLVMBlock(bb->fall_through), in ConvertPackedSwitch()
163 bb->taken = NullBasicBlockId; in ConvertPackedSwitch()
164 bb->fall_through = NullBasicBlockId; in ConvertPackedSwitch()
167 void MirConverter::ConvertSparseSwitch(BasicBlock* bb, in ConvertSparseSwitch() argument
179 irb_->CreateSwitch(value, GetLLVMBlock(bb->fall_through), in ConvertSparseSwitch()
190 bb->taken = NullBasicBlockId; in ConvertSparseSwitch()
[all …]
Dmir_to_gbc.h94 void ConvertPackedSwitch(BasicBlock* bb, int32_t table_offset,
96 void ConvertSparseSwitch(BasicBlock* bb, int32_t table_offset,
117 void ConvertCompareAndBranch(BasicBlock* bb, MIR* mir, ConditionCode cc,
119 void ConvertCompareZeroAndBranch(BasicBlock* bb, MIR* mir, ConditionCode cc,
135 void ConvertInvoke(BasicBlock* bb, MIR* mir, InvokeType invoke_type,
168 bool ConvertMIRNode(MIR* mir, BasicBlock* bb, ::llvm::BasicBlock* llvm_bb);
171 void HandlePhiNodes(BasicBlock* bb, ::llvm::BasicBlock* llvm_bb);
172 void ConvertExtendedMIR(BasicBlock* bb, MIR* mir, ::llvm::BasicBlock* llvm_bb);
173 bool BlockBitcodeConversion(BasicBlock* bb);
176 bool CreateLLVMBasicBlock(BasicBlock* bb);
/art/test/009-instanceof/src/
DMain.java24 ImplBSub bb = new ImplBSub(); in main() local
28 face1 = bb; in main()
32 System.out.println("bb.mWhoami = " + bb.mWhoami); in main()
41 bb = (ImplBSub) face1; in main()
/art/compiler/dex/quick/x86/
Dcodegen_x86.h237 void GenFusedFPCmpBranch(BasicBlock* bb, MIR* mir, bool gt_bias, bool is_double) OVERRIDE;
238 void GenFusedLongCmpBranch(BasicBlock* bb, MIR* mir) OVERRIDE;
239 void GenSelect(BasicBlock* bb, MIR* mir) OVERRIDE;
479 void GenFusedLongCmpImmBranch(BasicBlock* bb, RegLocation rl_src1,
482 void GenMultiplyVectorSignedByte(BasicBlock *bb, MIR *mir);
483 void GenShiftByteVector(BasicBlock *bb, MIR *mir);
544 void GenConst128(BasicBlock* bb, MIR* mir);
554 void GenMoveVector(BasicBlock *bb, MIR *mir);
564 void GenMultiplyVector(BasicBlock *bb, MIR *mir);
574 void GenAddVector(BasicBlock *bb, MIR *mir);
[all …]
Dtarget_x86.cc1685 void X86Mir2Lir::GenMachineSpecificExtendedMethodMIR(BasicBlock* bb, MIR* mir) { in GenMachineSpecificExtendedMethodMIR() argument
1694 GenConst128(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1697 GenMoveVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1700 GenMultiplyVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1703 GenAddVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1706 GenSubtractVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1709 GenShiftLeftVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1712 GenSignedShiftRightVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1715 GenUnsignedShiftRightVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
1718 GenAndVector(bb, mir); in GenMachineSpecificExtendedMethodMIR()
[all …]
/art/test/005-annotations/src/android/test/anno/
DAnnoArrayField.java11 byte[] bb() default {}; in bb() method

12