Home
last modified time | relevance | path

Searched refs:v_reg (Results 1 – 15 of 15) sorted by relevance

/art/compiler/dex/
Dgvn_dead_code_elimination.cc36 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 …]
Dgvn_dead_code_elimination.h69 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 …]
Dlocal_value_numbering.h66 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;
Dtype_inference.cc213 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()
Dgvn_dead_code_elimination_test.cc239 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()
Dmir_optimization.cc317 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()
Dssa_transformation.cc513 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()
Dtype_inference.h393 bool IsSRegLiveAtStart(BasicBlock* bb, int v_reg, int32_t s_reg);
Dlocal_value_numbering.cc1984 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()
Dmir_dataflow.cc1045 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()
Dmir_graph.h195 int32_t v_reg; // Virtual register number for temporary. member
1305 int AddNewSReg(int v_reg);
/art/compiler/dex/quick/arm/
Dtarget_arm.cc655 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()
Dcodegen_arm.h118 void MarkPreservedSingle(int v_reg, RegStorage reg);
119 void MarkPreservedDouble(int v_reg, RegStorage reg);
/art/compiler/dex/quick/
Dralloc_util.cc253 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 …]
Dmir_to_lir.h784 int VRegOffset(int v_reg);