/art/compiler/dex/ |
D | dataflow_iterator-inl.h | 32 res = mir_graph_->GetBasicBlock(bb_id); in ForwardSingleNext() 55 res = mir_graph_->GetBasicBlock(bb_id); in ForwardRepeatNext() 70 res = mir_graph_->GetBasicBlock(bb_id); in ReverseSingleNext() 93 res = mir_graph_->GetBasicBlock(bb_id); in ReverseRepeatNext() 107 BasicBlock* bb = mir_graph_->GetBlockList()[idx_++]; in Next() 134 BasicBlock* bb = mir_graph_->GetBasicBlock((*block_id_list_)[idx]); in Next() 145 BasicBlock* bb = mir_graph_->GetBasicBlock((*block_id_list_)[idx_ - 1]); in Next() 149 ChildBlockIterator iter(bb, mir_graph_); in Next() 165 BasicBlock* loop_head = mir_graph_->GetBasicBlock((*block_id_list_)[loop_head_idx]); in Next() 182 BasicBlock* bb = mir_graph_->GetBasicBlock((*block_id_list_)[idx]); in Next()
|
D | global_value_numbering.cc | 28 mir_graph_(cu->mir_graph.get()), in GlobalValueNumbering() 31 max_bbs_to_process_(kMaxBbsToProcessMultiplyFactor * mir_graph_->GetNumReachableBlocks()), in GlobalValueNumbering() 39 lvns_(mir_graph_->GetNumBlocks(), nullptr, allocator->Adapter()), in GlobalValueNumbering() 63 mir_graph_->GetTopologicalSortOrderLoopHeadStack()->empty()) { in PrepareBasicBlock() 86 if (mode_ == kModeGvn && mir_graph_->GetTopologicalSortOrderLoopHeadStack()->size() != 0) { in PrepareBasicBlock() 89 auto top = mir_graph_->GetTopologicalSortOrderLoopHeadStack()->back(); in PrepareBasicBlock() 93 loop_head_idx != mir_graph_->GetTopologicalSortOrderIndexes()[bb->id]; in PrepareBasicBlock() 101 mir_graph_->GetTopologicalSortOrderIndexes()[pred_id] < loop_head_idx)) { in PrepareBasicBlock() 174 const BasicBlock* pred_bb = mir_graph_->GetBasicBlock(pred_lvn->Id()); in NullCheckedInAllPredecessors() 206 BasicBlock* bb = mir_graph_->GetBasicBlock(bb_id); in IsBlockEnteredOnTrue() [all …]
|
D | type_inference.cc | 154 : mir_graph_(mir_graph), in CheckCastData() 203 BasicBlock* def_bb = mir_graph_->GetBasicBlock(idx); in AddPseudoPhis() 213 int v_reg = mir_graph_->SRegToVReg(s_reg); in AddPseudoPhis() 215 BasicBlock* phi_bb = mir_graph_->GetBasicBlock(phi_bb_id); in AddPseudoPhis() 228 TopologicalSortIterator iter(mir_graph_); in AddPseudoPhis() 334 if (mir_graph_->IsInVReg(s_reg)) { in FindDefBlock() 335 return mir_graph_->GetEntryBlock(); in FindDefBlock() 337 int v_reg = mir_graph_->SRegToVReg(s_reg); in FindDefBlock() 338 BasicBlock* bb = mir_graph_->GetBasicBlock(check_cast->bb); in FindDefBlock() 357 const auto& indexes = mir_graph_->GetTopologicalSortOrderIndexes(); in FindTopologicallyEarliestPredecessor() [all …]
|
D | gvn_dead_code_elimination.cc | 448 mir_graph_(gvn_->GetMirGraph()), in GvnDeadCodeElimination() 449 vreg_chains_(mir_graph_->GetNumOfCodeAndTempVRs(), alloc), in GvnDeadCodeElimination() 522 int v_reg = mir_graph_->SRegToVReg(s_reg); in CreatePhi() 523 MIR* phi = mir_graph_->NewMIR(); in CreatePhi() 529 phi->ssa_rep = static_cast<struct SSARepresentation *>(mir_graph_->GetArena()->Alloc( in CreatePhi() 532 mir_graph_->AllocateSSADefData(phi, 1); in CreatePhi() 536 mir_graph_->AllocateSSAUseData(phi, num_uses); in CreatePhi() 539 BasicBlock* pred_bb = mir_graph_->GetBasicBlock(pred_id); in CreatePhi() 546 phi->meta.phi_incoming = static_cast<BasicBlockId*>(mir_graph_->GetArena()->Alloc( in CreatePhi() 566 DCHECK_EQ(mir_graph_->SRegToVReg(new_s_reg) + 1, mir_graph_->SRegToVReg(new_s_reg + 1)); in RenameSRegDefOrCreatePhi() [all …]
|
D | dataflow_iterator.h | 72 : mir_graph_(mir_graph), in DataflowIterator() 104 MIRGraph* const mir_graph_; /**< @brief the MIRGraph */ variable 338 loop_head_stack_(mir_graph_->GetTopologicalSortOrderLoopHeadStack()) { in TopologicalSortIterator() 378 loop_head_stack_(mir_graph_->GetTopologicalSortOrderLoopHeadStack()) { in LoopRepeatingTopologicalSortIterator()
|
D | global_value_numbering.h | 62 return mir_graph_; in GetMirGraph() 194 return mir_graph_->GetBasicBlock(bb_id); in GetBasicBlock() 213 MIRGraph* const mir_graph_; variable
|
D | type_inference.h | 395 MIRGraph* const mir_graph_; variable 427 MIRGraph* const mir_graph_; variable
|
/art/compiler/dex/quick/ |
D | mir_to_lir.cc | 419 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); in GenSpecialCase() 428 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); in GenSpecialCase() 432 return_mir = bb->GetNextUnconditionalMir(mir_graph_, mir); in GenSpecialCase() 441 mir_graph_->catches_.clear(); in GenSpecialCase() 478 RegLocation rl_dest = mir_graph_->GetBadLoc(); in CompileDalvikInstruction() 479 RegLocation rl_result = mir_graph_->GetBadLoc(); in CompileDalvikInstruction() 491 rl_src[0] = rl_src[1] = rl_src[2] = mir_graph_->GetBadLoc(); in CompileDalvikInstruction() 494 rl_src[next_loc++] = mir_graph_->GetSrcWide(mir, next_sreg); in CompileDalvikInstruction() 497 rl_src[next_loc++] = mir_graph_->GetSrc(mir, next_sreg); in CompileDalvikInstruction() 503 rl_src[next_loc++] = mir_graph_->GetSrcWide(mir, next_sreg); in CompileDalvikInstruction() [all …]
|
D | codegen_util.cc | 73 res = InexpensiveConstantDouble(mir_graph_->ConstantValueWide(rl_src)); in IsInexpensiveConstant() 75 res = InexpensiveConstantLong(mir_graph_->ConstantValueWide(rl_src)); in IsInexpensiveConstant() 79 res = InexpensiveConstantFloat(mir_graph_->ConstantValue(rl_src)); in IsInexpensiveConstant() 81 res = InexpensiveConstantInt(mir_graph_->ConstantValue(rl_src)); in IsInexpensiveConstant() 293 uint32_t num_regs = mir_graph_->GetNumOfCodeAndTempVRs(); in DumpPromotionMap() 302 if (i < mir_graph_->GetNumOfCodeVRs()) { in DumpPromotionMap() 304 } else if (i == mir_graph_->GetNumOfCodeVRs()) { in DumpPromotionMap() 307 uint32_t diff = i - mir_graph_->GetNumOfCodeVRs(); in DumpPromotionMap() 350 int insns_size = mir_graph_->GetNumDalvikInsns(); in CodegenDump() 352 LOG(INFO) << "Regs (excluding ins) : " << mir_graph_->GetNumOfLocalCodeVRs(); in CodegenDump() [all …]
|
D | gen_loadstore.cc | 50 DCHECK(!rl_src.ref || (mir_graph_->ConstantValue(rl_src) == 0)); in LoadValueDirect() 51 LoadConstantNoClobber(r_dest, mir_graph_->ConstantValue(rl_src)); in LoadValueDirect() 89 LoadConstantWide(r_dest, mir_graph_->ConstantValueWide(rl_src)); in LoadValueDirectWide() 268 DCHECK_EQ((mir_graph_->SRegToVReg(rl_dest.s_reg_low)+1), in StoreValueWide() 269 mir_graph_->SRegToVReg(GetSRegHi(rl_dest.s_reg_low))); in StoreValueWide() 332 DCHECK_EQ((mir_graph_->SRegToVReg(rl_dest.s_reg_low)+1), in StoreFinalValueWide() 333 mir_graph_->SRegToVReg(GetSRegHi(rl_dest.s_reg_low))); in StoreFinalValueWide() 345 LoadValueDirectWideFixed(mir_graph_->GetMethodLoc(), r_tgt); in LoadCurrMethodDirect() 347 LoadValueDirectFixed(mir_graph_->GetMethodLoc(), r_tgt); in LoadCurrMethodDirect() 355 RegLocation rl_method = mir_graph_->GetMethodLoc(); in LoadCurrMethodWithHint() [all …]
|
D | ralloc_util.cc | 251 DCHECK_LT(s_reg, mir_graph_->GetNumSSARegs()); in SRegToPMap() 253 int v_reg = mir_graph_->SRegToVReg(s_reg); in SRegToPMap() 260 int v_reg = mir_graph_->SRegToVReg(s_reg); in RecordCorePromotion() 293 int v_reg = mir_graph_->SRegToVReg(s_reg); in RecordFpPromotion() 741 if (mir_graph_->SRegToVReg(info2->SReg()) < mir_graph_->SRegToVReg(info1->SReg())) { in FlushRegWide() 744 int v_reg = mir_graph_->SRegToVReg(info1->SReg()); in FlushRegWide() 752 int v_reg = mir_graph_->SRegToVReg(info->SReg()); in FlushRegWide() 764 int v_reg = mir_graph_->SRegToVReg(info->SReg()); in FlushReg() 1156 mir_graph_->GetCurrentDexCompilationUnit(), mir->offset)) { in AnalyzeMIR() 1201 const MirMethodLoweringInfo& info = mir_graph_->GetMethodLoweringInfo(mir); in AnalyzeMIR() [all …]
|
D | gen_common.cc | 390 int32_t constant_value = mir_graph_->ConstantValue(rl_src2); in GenCompareAndBranch() 394 OpCmpImmBranch(cond, rl_src1.reg, mir_graph_->ConstantValue(rl_src2), taken); in GenCompareAndBranch() 653 if (!mir_graph_->IsConstantNullRef(info->args[i])) { in GenFilledNewArray() 676 const uint16_t* table = mir_graph_->GetTable(mir, table_offset); in GenFillArrayData() 686 const MirSFieldLoweringInfo& field_info = mir_graph_->GetSFieldLoweringInfo(mir); in GenSput() 726 if (IsRef(size) && !mir_graph_->IsConstantNullRef(rl_src)) { in GenSput() 763 const MirSFieldLoweringInfo& field_info = mir_graph_->GetSFieldLoweringInfo(mir); in GenSget() 864 const MirIFieldLoweringInfo& field_info = mir_graph_->GetIFieldLoweringInfo(mir); in GenIGet() 943 const MirIFieldLoweringInfo& field_info = mir_graph_->GetIFieldLoweringInfo(mir); in GenIPut() 973 if (IsRef(size) && !mir_graph_->IsConstantNullRef(rl_src)) { in GenIPut() [all …]
|
D | gen_invoke.cc | 421 if (mir_graph_->GetNumOfInVRs() == 0) { in FlushIns() 425 int start_vreg = mir_graph_->GetFirstInVR(); in FlushIns() 441 for (uint32_t i = 0; i < mir_graph_->GetNumOfInVRs(); i += t_loc->wide ? 2 : 1) { in FlushIns() 768 const char* target_shorty = mir_graph_->GetShortyFromMethodReference(target_method); in GenDalvikArgs() 903 ShortyToRegClass(mir_graph_->GetShortyFromMethodReference(info->method_ref)[0])); in InlineTarget() 915 mir_graph_->GetShortyFromMethodReference(info->method_ref)[0])); in InlineTargetWide() 1344 if (rl_char.is_const && (mir_graph_->ConstantValue(rl_char) & ~0xFFFF) != 0) { in GenInlinedIndexOf() 1377 DCHECK_EQ(mir_graph_->ConstantValue(rl_char) & ~0xFFFF, 0); in GenInlinedIndexOf() 1539 if (mir_graph_->GetMethodLoweringInfo(info->mir).IsIntrinsic()) { in GenInvoke() 1558 const MirMethodLoweringInfo& method_info = mir_graph_->GetMethodLoweringInfo(info->mir); in GenInvokeNoInline() [all …]
|
/art/compiler/dex/quick/arm/ |
D | target_arm.cc | 841 int v_reg = mir_graph_->SRegToVReg(s_reg); in AllocPreservedDouble() 894 int v_reg = mir_graph_->SRegToVReg(s_reg); in AllocPreservedSingle() 994 RegLocation rl_dest = mir_graph_->GetBadLoc(); in GenMachineSpecificExtendedMethodMIR() 995 rl_src[0] = rl_src[1] = rl_src[2] = mir_graph_->GetBadLoc(); in GenMachineSpecificExtendedMethodMIR() 998 rl_dest = mir_graph_->GetDest(mir); in GenMachineSpecificExtendedMethodMIR() 999 rl_src[0] = mir_graph_->GetSrc(mir, 0); in GenMachineSpecificExtendedMethodMIR() 1000 rl_src[1] = mir_graph_->GetSrc(mir, 1); in GenMachineSpecificExtendedMethodMIR() 1001 rl_src[2]= mir_graph_->GetSrc(mir, 2); in GenMachineSpecificExtendedMethodMIR() 1005 rl_dest = mir_graph_->GetDest(mir); in GenMachineSpecificExtendedMethodMIR() 1006 rl_src[0] = mir_graph_->GetSrc(mir, 0); in GenMachineSpecificExtendedMethodMIR() [all …]
|
D | int_arm.cc | 245 RegLocation rl_src = mir_graph_->GetSrc(mir, 0); in GenSelect() 246 RegLocation rl_dest = mir_graph_->GetDest(mir); in GenSelect() 295 RegLocation rl_true = mir_graph_->reg_location_[mir->ssa_rep->uses[1]]; in GenSelect() 296 RegLocation rl_false = mir_graph_->reg_location_[mir->ssa_rep->uses[2]]; in GenSelect() 319 RegLocation rl_src1 = mir_graph_->GetSrcWide(mir, 0); in GenFusedLongCmpBranch() 320 RegLocation rl_src2 = mir_graph_->GetSrcWide(mir, 2); in GenFusedLongCmpBranch() 330 int64_t val = mir_graph_->ConstantValueWide(rl_src2); in GenFusedLongCmpBranch() 393 skip &= ((mir_graph_->GetNumDalvikInsns() - current_dalvik_offset_) > 64); in OpCmpImmBranch() 895 if (is_object && !mir_graph_->IsConstantNullRef(rl_new_value)) { in GenInlinedCas() 1003 if ((rl_src_pos.is_const && (mir_graph_->ConstantValue(rl_src_pos) < 0)) || in GenInlinedArrayCopyCharArray() [all …]
|
D | fp_arm.cc | 251 rl_src1 = mir_graph_->GetSrcWide(mir, 0); in GenFusedFPCmpBranch() 252 rl_src2 = mir_graph_->GetSrcWide(mir, 2); in GenFusedFPCmpBranch() 257 rl_src1 = mir_graph_->GetSrc(mir, 0); in GenFusedFPCmpBranch() 258 rl_src2 = mir_graph_->GetSrc(mir, 1); in GenFusedFPCmpBranch()
|
/art/compiler/dex/quick/arm64/ |
D | target_arm64.cc | 889 RegLocation rl_dest = mir_graph_->GetBadLoc(); in GenMachineSpecificExtendedMethodMIR() 890 rl_src[0] = rl_src[1] = rl_src[2] = mir_graph_->GetBadLoc(); in GenMachineSpecificExtendedMethodMIR() 895 rl_dest = mir_graph_->GetDest(mir); in GenMachineSpecificExtendedMethodMIR() 896 rl_src[0] = mir_graph_->GetSrc(mir, 0); in GenMachineSpecificExtendedMethodMIR() 897 rl_src[1] = mir_graph_->GetSrc(mir, 1); in GenMachineSpecificExtendedMethodMIR() 898 rl_src[2]= mir_graph_->GetSrc(mir, 2); in GenMachineSpecificExtendedMethodMIR() 903 rl_dest = mir_graph_->GetDestWide(mir); in GenMachineSpecificExtendedMethodMIR() 904 rl_src[0] = mir_graph_->GetSrcWide(mir, 0); in GenMachineSpecificExtendedMethodMIR() 905 rl_src[1] = mir_graph_->GetSrcWide(mir, 2); in GenMachineSpecificExtendedMethodMIR() 906 rl_src[2] = mir_graph_->GetSrcWide(mir, 4); in GenMachineSpecificExtendedMethodMIR()
|
D | int_arm64.cc | 193 RegLocation rl_src = mir_graph_->GetSrc(mir, 0); in GenSelect() 198 RegLocation rl_dest = mir_graph_->GetDest(mir); in GenSelect() 207 RegLocation rl_true = mir_graph_->reg_location_[mir->ssa_rep->uses[1]]; in GenSelect() 208 RegLocation rl_false = mir_graph_->reg_location_[mir->ssa_rep->uses[2]]; in GenSelect() 224 RegLocation rl_src1 = mir_graph_->GetSrcWide(mir, 0); in GenFusedLongCmpBranch() 225 RegLocation rl_src2 = mir_graph_->GetSrcWide(mir, 2); in GenFusedLongCmpBranch() 240 int64_t val = mir_graph_->ConstantValueWide(rl_src2); in GenFusedLongCmpBranch() 765 if (is_object && !mir_graph_->IsConstantNullRef(rl_new_value)) { in GenInlinedCas() 835 if ((rl_src_pos.is_const && (mir_graph_->ConstantValue(rl_src_pos) < 0)) || in GenInlinedArrayCopyCharArray() 836 (rl_dst_pos.is_const && (mir_graph_->ConstantValue(rl_dst_pos) < 0)) || in GenInlinedArrayCopyCharArray() [all …]
|
D | fp_arm64.cc | 235 rl_src1 = mir_graph_->GetSrcWide(mir, 0); in GenFusedFPCmpBranch() 236 rl_src2 = mir_graph_->GetSrcWide(mir, 2); in GenFusedFPCmpBranch() 241 rl_src1 = mir_graph_->GetSrc(mir, 0); in GenFusedFPCmpBranch() 242 rl_src2 = mir_graph_->GetSrc(mir, 1); in GenFusedFPCmpBranch()
|
D | call_arm64.cc | 56 const uint16_t* table = mir_graph_->GetTable(mir, table_offset); in GenLargeSparseSwitch() 105 const uint16_t* table = mir_graph_->GetTable(mir, table_offset); in GenLargePackedSwitch() 319 bool skip_overflow_check = mir_graph_->MethodIsLeaf() && in GenEntrySequence()
|
/art/compiler/dex/quick/x86/ |
D | fp_x86.cc | 520 rl_src1 = mir_graph_->GetSrcWide(mir, 0); in GenFusedFPCmpBranch() 521 rl_src2 = mir_graph_->GetSrcWide(mir, 2); in GenFusedFPCmpBranch() 526 rl_src1 = mir_graph_->GetSrc(mir, 0); in GenFusedFPCmpBranch() 527 rl_src2 = mir_graph_->GetSrc(mir, 1); in GenFusedFPCmpBranch() 632 int v_src_reg = mir_graph_->SRegToVReg(rl_src.s_reg_low); in GenInlinedAbsFloat() 633 int v_dst_reg = mir_graph_->SRegToVReg(rl_dest.s_reg_low); in GenInlinedAbsFloat() 683 int v_src_reg = mir_graph_->SRegToVReg(rl_src.s_reg_low); in GenInlinedAbsDouble() 684 int v_dst_reg = mir_graph_->SRegToVReg(rl_dest.s_reg_low); in GenInlinedAbsDouble()
|
D | utility_x86.cc | 987 if (mir_graph_->GetTable(mir, mir->dalvikInsn.vB)[1] > kSmallSwitchThreshold) { in AnalyzeMIR() 1010 if (mir_graph_->GetMethodLoweringInfo(mir).IsIntrinsic()) { in AnalyzeMIR() 1033 if (AnalyzeDoubleUse(mir_graph_->GetSrcWide(mir, next_sreg))) { in AnalyzeFPInstruction() 1043 if (AnalyzeDoubleUse(mir_graph_->GetSrcWide(mir, next_sreg))) { in AnalyzeFPInstruction() 1053 if (AnalyzeDoubleUse(mir_graph_->GetSrcWide(mir, next_sreg))) { in AnalyzeFPInstruction() 1072 MethodReference method_ref = mir_graph_->GetMethodLoweringInfo(mir).GetTargetMethod(); in AnalyzeInvokeStaticIntrinsic() 1146 pc_rel_temp_ = mir_graph_->GetNewCompilerTemp(kCompilerTempBackend, false); in DoPromotion() 1154 pc_rel_base_reg_ = mir_graph_->reg_location_[pc_rel_temp_->s_reg_low].reg; in DoPromotion() 1156 mir_graph_->RemoveLastCompilerTemp(kCompilerTempBackend, false, pc_rel_temp_); in DoPromotion()
|
D | int_x86.cc | 276 RegLocation rl_src = mir_graph_->GetSrc(mir, 0); in GenSelect() 277 RegLocation rl_dest = mir_graph_->GetDest(mir); in GenSelect() 351 RegLocation rl_true = mir_graph_->GetSrc(mir, 1); in GenSelect() 352 RegLocation rl_false = mir_graph_->GetSrc(mir, 2); in GenSelect() 390 RegLocation rl_src1 = mir_graph_->GetSrcWide(mir, 0); in GenFusedLongCmpBranch() 391 RegLocation rl_src2 = mir_graph_->GetSrcWide(mir, 2); in GenFusedLongCmpBranch() 400 int64_t val = mir_graph_->ConstantValueWide(rl_src2); in GenFusedLongCmpBranch() 907 if (mir_graph_->SRegToVReg(rl_src1.s_reg_low) == in GenInlinedMinMax() 908 mir_graph_->SRegToVReg(rl_src2.s_reg_low)) { in GenInlinedMinMax() 1234 if (is_object && !mir_graph_->IsConstantNullRef(rl_new_value)) { in GenInlinedCas() [all …]
|
D | target_x86.cc | 1127 if (rl_srcPos.is_const && (mir_graph_->ConstantValue(rl_srcPos) < 0)) { in GenInlinedArrayCopyCharArray() 1130 if (rl_dstPos.is_const && (mir_graph_->ConstantValue(rl_dstPos) < 0)) { in GenInlinedArrayCopyCharArray() 1158 int32_t pos_val = mir_graph_->ConstantValue(rl_srcPos.orig_sreg); in GenInlinedArrayCopyCharArray() 1183 int32_t pos_val = mir_graph_->ConstantValue(rl_dstPos.orig_sreg); in GenInlinedArrayCopyCharArray() 1265 rl_char.is_const ? mir_graph_->ConstantValue(rl_char.orig_sreg) : 0; in GenInlinedIndexOf() 1341 start_value = mir_graph_->ConstantValue(rl_start.orig_sreg); in GenInlinedIndexOf() 1994 rl_src = mir_graph_->GetSrcWide(mir, 0); in GenAddReduceVector() 1995 rl_dest = mir_graph_->GetDestWide(mir); in GenAddReduceVector() 1997 rl_src = mir_graph_->GetSrc(mir, 0); in GenAddReduceVector() 1998 rl_dest = mir_graph_->GetDest(mir); in GenAddReduceVector() [all …]
|
/art/compiler/dex/quick/mips/ |
D | call_mips.cc | 73 const uint16_t* table = mir_graph_->GetTable(mir, table_offset); in GenLargeSparseSwitch() 146 const uint16_t* table = mir_graph_->GetTable(mir, table_offset); in GenLargePackedSwitch() 285 skip_overflow_check = mir_graph_->MethodIsLeaf() && !FrameNeedsStackCheck(frame_size_, target); in GenEntrySequence()
|