/art/compiler/dex/ |
D | ssa_transformation.cc | 27 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 …]
|
D | post_opt_passes.cc | 44 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 …]
|
D | mir_optimization.cc | 28 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 …]
|
D | global_value_numbering.cc | 46 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 …]
|
D | bb_optimizations.cc | 31 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()
|
D | mir_graph.cc | 208 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 …]
|
D | bb_optimizations.h | 103 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 …]
|
D | mir_graph.h | 351 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 …]
|
D | dataflow_iterator-inl.h | 127 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()
|
D | mir_optimization_test.cc | 75 #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 …]
|
D | mir_analysis.cc | 862 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 …]
|
D | mir_graph_test.cc | 67 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 …]
|
D | global_value_numbering_test.cc | 90 #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 …]
|
D | pass_driver_me.h | 33 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()
|
D | mir_dataflow.cc | 926 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 …]
|
D | post_opt_passes.h | 229 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/ |
D | mir_to_lir.cc | 319 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 …]
|
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,
|
D | dex_file_method_inliner.cc | 529 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/ |
D | mir_to_gbc.cc | 138 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 …]
|
D | mir_to_gbc.h | 94 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/ |
D | Main.java | 24 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/ |
D | codegen_x86.h | 237 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 …]
|
D | target_x86.cc | 1685 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/ |
D | AnnoArrayField.java | 11 byte[] bb() default {}; in bb() method
|