/art/compiler/dex/ |
D | gvn_dead_code_elimination.cc | 36 inline uint16_t GvnDeadCodeElimination::MIRData::PrevChange(int v_reg) const { in PrevChange() 38 DCHECK(v_reg == vreg_def || v_reg == vreg_def + 1); in PrevChange() 39 return (v_reg == vreg_def) ? prev_value.change : prev_value_high.change; in PrevChange() 42 inline void GvnDeadCodeElimination::MIRData::SetPrevChange(int v_reg, uint16_t change) { in SetPrevChange() argument 44 DCHECK(v_reg == vreg_def || v_reg == vreg_def + 1); in SetPrevChange() 45 if (v_reg == vreg_def) { in SetPrevChange() 52 inline void GvnDeadCodeElimination::MIRData::RemovePrevChange(int v_reg, MIRData* prev_data) { in RemovePrevChange() argument 53 DCHECK_NE(PrevChange(v_reg), kNPos); in RemovePrevChange() 54 DCHECK(v_reg == prev_data->vreg_def || v_reg == prev_data->vreg_def + 1); in RemovePrevChange() 55 if (vreg_def == v_reg) { in RemovePrevChange() [all …]
|
D | gvn_dead_code_elimination.h | 69 uint16_t PrevChange(int v_reg) const; 70 void SetPrevChange(int v_reg, uint16_t change); 71 void RemovePrevChange(int v_reg, MIRData* prev_data); 93 void AddMIRWithDef(MIR* mir, int v_reg, bool wide, uint16_t new_value); 103 void InsertInitialValueHigh(int v_reg, uint16_t value); 104 void UpdateInitialVRegValue(int v_reg, bool wide, const LocalValueNumbering* lvn); 105 uint16_t LastChange(int v_reg); 106 uint16_t CurrentValue(int v_reg); 108 uint16_t FindKillHead(int v_reg, uint16_t cutoff); 109 uint16_t FindFirstChangeAfter(int v_reg, uint16_t change) const; [all …]
|
D | local_value_numbering.h | 66 uint16_t GetStartingVregValueNumber(int v_reg) const { in GetStartingVregValueNumber() argument 67 return GetStartingVregValueNumberImpl(v_reg, false); in GetStartingVregValueNumber() 71 uint16_t GetStartingVregValueNumberWide(int v_reg) const { in GetStartingVregValueNumberWide() argument 72 return GetStartingVregValueNumberImpl(v_reg, true); in GetStartingVregValueNumberWide() 94 uint16_t GetEndingVregValueNumberImpl(int v_reg, bool wide) const; 95 uint16_t GetStartingVregValueNumberImpl(int v_reg, bool wide) const;
|
D | type_inference.cc | 213 int v_reg = mir_graph_->SRegToVReg(s_reg); in AddPseudoPhis() local 219 if (IsSRegLiveAtStart(phi_bb, v_reg, s_reg)) { in AddPseudoPhis() 238 if (IsSRegLiveAtStart(bb, v_reg, s_reg)) { in AddPseudoPhis() 337 int v_reg = mir_graph_->SRegToVReg(s_reg); in FindDefBlock() local 347 if (pred_bb->data_flow_info->vreg_to_ssa_map_exit[v_reg] != s_reg) { in FindDefBlock() 373 bool TypeInference::CheckCastData::IsSRegLiveAtStart(BasicBlock* bb, int v_reg, int32_t s_reg) { in IsSRegLiveAtStart() argument 374 DCHECK_EQ(v_reg, mir_graph_->SRegToVReg(s_reg)); in IsSRegLiveAtStart() 378 if (!bb->data_flow_info->live_in_v->IsBitSet(v_reg)) { in IsSRegLiveAtStart() 386 if (pred_bb->data_flow_info->vreg_to_ssa_map_exit[v_reg] != s_reg) { in IsSRegLiveAtStart()
|
D | gvn_dead_code_elimination_test.cc | 239 int v_reg = cu_.mir_graph->SRegToVReg(s_reg); in SRegToVReg() local 240 CHECK_LT(static_cast<size_t>(v_reg), num_vregs_); in SRegToVReg() 242 CHECK_LT(static_cast<size_t>(v_reg + 1), num_vregs_); in SRegToVReg() 244 return v_reg; in SRegToVReg() 248 int v_reg = SRegToVReg(uses[*use], wide); in SRegToVReg() local 255 return v_reg; in SRegToVReg() 401 for (size_t v_reg = 0; v_reg != num_vregs_; ++v_reg) { in FillVregToSsaRegExitMaps() local 402 if (bb->data_flow_info->vreg_to_ssa_map_exit[v_reg] == INVALID_SREG) { in FillVregToSsaRegExitMaps() 403 bb->data_flow_info->vreg_to_ssa_map_exit[v_reg] = in FillVregToSsaRegExitMaps() 404 pred_bb->data_flow_info->vreg_to_ssa_map_exit[v_reg]; in FillVregToSsaRegExitMaps()
|
D | mir_optimization.cc | 317 compiler_temp->v_reg = GetFirstSpecialTempVR(); in GetNewCompilerTemp() 343 compiler_temp->v_reg = GetFirstNonSpecialTempVR() + num_non_special_compiler_temps_; in GetNewCompilerTemp() 362 compiler_temp->v_reg = GetFirstNonSpecialTempVR() + num_non_special_compiler_temps_; in GetNewCompilerTemp() 371 compiler_temp->s_reg_low = AddNewSReg(compiler_temp->v_reg); in GetNewCompilerTemp() 375 << compiler_temp->v_reg << " and s" << compiler_temp->s_reg_low << " has been created."; in GetNewCompilerTemp() 385 int ssa_reg_high = AddNewSReg(compiler_temp->v_reg + 1); in GetNewCompilerTemp() 390 << compiler_temp->v_reg + 1 << " and s" << ssa_reg_high << "."; in GetNewCompilerTemp() 437 DCHECK_EQ(static_cast<size_t>(temp->v_reg), in RemoveLastCompilerTemp()
|
D | ssa_transformation.cc | 513 int v_reg = SRegToVReg(ssa_reg); in InsertPhiNodeOperands() local 525 uses[idx] = pred_bb->data_flow_info->vreg_to_ssa_map_exit[v_reg]; in InsertPhiNodeOperands()
|
D | type_inference.h | 393 bool IsSRegLiveAtStart(BasicBlock* bb, int v_reg, int32_t s_reg);
|
D | local_value_numbering.cc | 1984 uint16_t LocalValueNumbering::GetEndingVregValueNumberImpl(int v_reg, bool wide) const { in GetEndingVregValueNumberImpl() argument 1987 int s_reg = bb->data_flow_info->vreg_to_ssa_map_exit[v_reg]; in GetEndingVregValueNumberImpl() 1995 int high_s_reg = bb->data_flow_info->vreg_to_ssa_map_exit[v_reg + 1]; in GetEndingVregValueNumberImpl() 2005 uint16_t LocalValueNumbering::GetStartingVregValueNumberImpl(int v_reg, bool wide) const { in GetStartingVregValueNumberImpl() argument 2012 return gvn_->GetLvn(bb->predecessors[0])->GetEndingVregValueNumberImpl(v_reg, wide); in GetStartingVregValueNumberImpl() 2018 value_name = gvn_->GetLvn(pred_id)->GetEndingVregValueNumberImpl(v_reg, wide); in GetStartingVregValueNumberImpl()
|
D | mir_dataflow.cc | 1045 int MIRGraph::AddNewSReg(int v_reg) { in AddNewSReg() argument 1046 int subscript = ++ssa_last_defs_[v_reg]; in AddNewSReg() 1049 ssa_base_vregs_.push_back(v_reg); in AddNewSReg()
|
D | mir_graph.h | 195 int32_t v_reg; // Virtual register number for temporary. member 1305 int AddNewSReg(int v_reg);
|
/art/compiler/dex/quick/arm/ |
D | target_arm.cc | 655 void ArmMir2Lir::MarkPreservedSingle(int v_reg, RegStorage reg) { in MarkPreservedSingle() argument 664 fp_vmap_table_[adjusted_reg_num] = v_reg; in MarkPreservedSingle() 670 void ArmMir2Lir::MarkPreservedDouble(int v_reg, RegStorage reg) { in MarkPreservedDouble() argument 675 MarkPreservedSingle(v_reg, lo); in MarkPreservedDouble() 676 MarkPreservedSingle(v_reg + 1, hi); in MarkPreservedDouble() 841 int v_reg = mir_graph_->SRegToVReg(s_reg); in AllocPreservedDouble() local 860 MarkPreservedSingle(v_reg, p->GetReg()); in AllocPreservedDouble() 870 MarkPreservedDouble(v_reg, info->GetReg()); in AllocPreservedDouble() 894 int v_reg = mir_graph_->SRegToVReg(s_reg); in AllocPreservedSingle() local 896 MarkPreservedSingle(v_reg, res); in AllocPreservedSingle()
|
D | codegen_arm.h | 118 void MarkPreservedSingle(int v_reg, RegStorage reg); 119 void MarkPreservedDouble(int v_reg, RegStorage reg);
|
/art/compiler/dex/quick/ |
D | ralloc_util.cc | 253 int v_reg = mir_graph_->SRegToVReg(s_reg); in SRegToPMap() local 254 return v_reg; in SRegToPMap() 260 int v_reg = mir_graph_->SRegToVReg(s_reg); in RecordCorePromotion() local 265 core_vmap_table_.push_back(reg_num << VREG_NUM_WIDTH | (v_reg & ((1 << VREG_NUM_WIDTH) - 1))); in RecordCorePromotion() 293 int v_reg = mir_graph_->SRegToVReg(s_reg); in RecordFpPromotion() local 298 fp_vmap_table_.push_back(reg_num << VREG_NUM_WIDTH | (v_reg & ((1 << VREG_NUM_WIDTH) - 1))); in RecordFpPromotion() 744 int v_reg = mir_graph_->SRegToVReg(info1->SReg()); in FlushRegWide() local 746 StoreBaseDisp(TargetPtrReg(kSp), VRegOffset(v_reg), reg, k64, kNotVolatile); in FlushRegWide() 752 int v_reg = mir_graph_->SRegToVReg(info->SReg()); in FlushRegWide() local 754 StoreBaseDisp(TargetPtrReg(kSp), VRegOffset(v_reg), reg, k64, kNotVolatile); in FlushRegWide() [all …]
|
D | mir_to_lir.h | 784 int VRegOffset(int v_reg);
|