• Home
  • Raw
  • Download

Lines Matching refs:rl_dest

43 void Mir2Lir::Workaround7250540(RegLocation rl_dest, RegStorage zero_reg) {  in Workaround7250540()  argument
44 if (rl_dest.fp) { in Workaround7250540()
45 int pmap_index = SRegToPMap(rl_dest.s_reg_low); in Workaround7250540()
49 int base_vreg = mir_graph_->SRegToVReg(rl_dest.s_reg_low); in Workaround7250540()
69 … StoreBaseDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), temp_reg, k32, kNotVolatile); in Workaround7250540()
173 void Mir2Lir::StoreValue(RegLocation rl_dest, RegLocation rl_src) { in StoreValue() argument
181 (rl_dest.s_reg_low != live_sreg_)); in StoreValue()
182 live_sreg_ = rl_dest.s_reg_low; in StoreValue()
186 DCHECK(!rl_dest.wide); in StoreValue()
189 rl_dest = UpdateLoc(rl_dest); in StoreValue()
193 (rl_dest.location == kLocPhysReg)) { in StoreValue()
195 rl_dest = EvalLoc(rl_dest, rl_dest.ref || rl_src.ref ? kRefReg : kAnyReg, false); in StoreValue()
196 OpRegCopy(rl_dest.reg, rl_src.reg); in StoreValue()
199 rl_dest.reg = rl_src.reg; in StoreValue()
204 rl_dest = EvalLoc(rl_dest, rl_dest.ref ? kRefReg : kAnyReg, false); in StoreValue()
205 LoadValueDirect(rl_src, rl_dest.reg); in StoreValue()
209 MarkLive(rl_dest); in StoreValue()
210 MarkDirty(rl_dest); in StoreValue()
213 ResetDefLoc(rl_dest); in StoreValue()
214 if (IsDirty(rl_dest.reg) && LiveOut(rl_dest.s_reg_low)) { in StoreValue()
217 if (rl_dest.ref) { in StoreValue()
218 StoreRefDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg, kNotVolatile); in StoreValue()
220 Store32Disp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg); in StoreValue()
222 MarkClean(rl_dest); in StoreValue()
224 if (!rl_dest.ref) { in StoreValue()
226 MarkDef(rl_dest, def_start, def_end); in StoreValue()
257 void Mir2Lir::StoreValueWide(RegLocation rl_dest, RegLocation rl_src) { in StoreValueWide() argument
265 (rl_dest.s_reg_low != live_sreg_)); in StoreValueWide()
266 live_sreg_ = rl_dest.s_reg_low; in StoreValueWide()
270 DCHECK(rl_dest.wide); in StoreValueWide()
273 rl_dest = UpdateLocWide(rl_dest); in StoreValueWide()
277 (rl_dest.location == kLocPhysReg)) { in StoreValueWide()
283 rl_dest = EvalLoc(rl_dest, kAnyReg, false); in StoreValueWide()
284 OpRegCopyWide(rl_dest.reg, rl_src.reg); in StoreValueWide()
287 rl_dest.reg = rl_src.reg; in StoreValueWide()
292 rl_dest = EvalLoc(rl_dest, kAnyReg, false); in StoreValueWide()
293 LoadValueDirectWide(rl_src, rl_dest.reg); in StoreValueWide()
297 MarkLive(rl_dest); in StoreValueWide()
298 MarkWide(rl_dest.reg); in StoreValueWide()
299 MarkDirty(rl_dest); in StoreValueWide()
301 ResetDefLocWide(rl_dest); in StoreValueWide()
302 if (IsDirty(rl_dest.reg) && (LiveOut(rl_dest.s_reg_low) || in StoreValueWide()
303 LiveOut(GetSRegHi(rl_dest.s_reg_low)))) { in StoreValueWide()
305 DCHECK_EQ((mir_graph_->SRegToVReg(rl_dest.s_reg_low)+1), in StoreValueWide()
306 mir_graph_->SRegToVReg(GetSRegHi(rl_dest.s_reg_low))); in StoreValueWide()
308 StoreBaseDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg, k64, kNotVolatile); in StoreValueWide()
309 MarkClean(rl_dest); in StoreValueWide()
311 MarkDefWide(rl_dest, def_start, def_end); in StoreValueWide()
315 void Mir2Lir::StoreFinalValue(RegLocation rl_dest, RegLocation rl_src) { in StoreFinalValue() argument
318 if (rl_dest.location == kLocPhysReg) { in StoreFinalValue()
319 OpRegCopy(rl_dest.reg, rl_src.reg); in StoreFinalValue()
322 rl_dest.location = kLocPhysReg; in StoreFinalValue()
323 rl_dest.reg = rl_src.reg; in StoreFinalValue()
328 MarkLive(rl_dest); in StoreFinalValue()
329 MarkDirty(rl_dest); in StoreFinalValue()
332 ResetDefLoc(rl_dest); in StoreFinalValue()
333 if (IsDirty(rl_dest.reg) && LiveOut(rl_dest.s_reg_low)) { in StoreFinalValue()
336 Store32Disp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg); in StoreFinalValue()
337 MarkClean(rl_dest); in StoreFinalValue()
339 if (!rl_dest.ref) { in StoreFinalValue()
341 MarkDef(rl_dest, def_start, def_end); in StoreFinalValue()
346 void Mir2Lir::StoreFinalValueWide(RegLocation rl_dest, RegLocation rl_src) { in StoreFinalValueWide() argument
347 DCHECK(rl_dest.wide); in StoreFinalValueWide()
351 if (rl_dest.location == kLocPhysReg) { in StoreFinalValueWide()
352 OpRegCopyWide(rl_dest.reg, rl_src.reg); in StoreFinalValueWide()
355 rl_dest.location = kLocPhysReg; in StoreFinalValueWide()
356 rl_dest.reg = rl_src.reg; in StoreFinalValueWide()
361 MarkLive(rl_dest); in StoreFinalValueWide()
362 MarkWide(rl_dest.reg); in StoreFinalValueWide()
363 MarkDirty(rl_dest); in StoreFinalValueWide()
365 ResetDefLocWide(rl_dest); in StoreFinalValueWide()
366 if (IsDirty(rl_dest.reg) && (LiveOut(rl_dest.s_reg_low) || in StoreFinalValueWide()
367 LiveOut(GetSRegHi(rl_dest.s_reg_low)))) { in StoreFinalValueWide()
369 DCHECK_EQ((mir_graph_->SRegToVReg(rl_dest.s_reg_low)+1), in StoreFinalValueWide()
370 mir_graph_->SRegToVReg(GetSRegHi(rl_dest.s_reg_low))); in StoreFinalValueWide()
372 StoreBaseDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg, k64, kNotVolatile); in StoreFinalValueWide()
373 MarkClean(rl_dest); in StoreFinalValueWide()
375 MarkDefWide(rl_dest, def_start, def_end); in StoreFinalValueWide()