• Home
  • Raw
  • Download

Lines Matching refs:RegStorage

41 Mir2Lir::RegisterInfo::RegisterInfo(RegStorage r, const ResourceMask& mask)  in RegisterInfo()
59 const ArrayRef<const RegStorage>& core_regs, in RegisterPool()
60 const ArrayRef<const RegStorage>& core64_regs, in RegisterPool()
61 const ArrayRef<const RegStorage>& sp_regs, in RegisterPool()
62 const ArrayRef<const RegStorage>& dp_regs, in RegisterPool()
63 const ArrayRef<const RegStorage>& reserved_regs, in RegisterPool()
64 const ArrayRef<const RegStorage>& reserved64_regs, in RegisterPool()
65 const ArrayRef<const RegStorage>& core_temps, in RegisterPool()
66 const ArrayRef<const RegStorage>& core64_temps, in RegisterPool()
67 const ArrayRef<const RegStorage>& sp_temps, in RegisterPool()
68 const ArrayRef<const RegStorage>& dp_temps) : in RegisterPool()
76 m2l_->reginfo_map_.Resize(RegStorage::kMaxRegs); in RegisterPool()
77 for (unsigned i = 0; i < RegStorage::kMaxRegs; i++) { in RegisterPool()
81 m2l_->reginfo_map_.SetSize(RegStorage::kMaxRegs); in RegisterPool()
85 for (const RegStorage& reg : core_regs) { in RegisterPool()
90 for (const RegStorage& reg : core64_regs) { in RegisterPool()
95 for (const RegStorage& reg : sp_regs) { in RegisterPool()
100 for (const RegStorage& reg : dp_regs) { in RegisterPool()
107 for (RegStorage reg : reserved_regs) { in RegisterPool()
110 for (RegStorage reg : reserved64_regs) { in RegisterPool()
115 for (RegStorage reg : core_temps) { in RegisterPool()
118 for (RegStorage reg : core64_temps) { in RegisterPool()
121 for (RegStorage reg : sp_temps) { in RegisterPool()
124 for (RegStorage reg : dp_temps) { in RegisterPool()
129 RegisterInfo* invalid_reg = new (arena) RegisterInfo(RegStorage::InvalidReg(), kEncodeNone); in RegisterPool()
130 m2l_->reginfo_map_.Put(RegStorage::InvalidReg().GetReg(), invalid_reg); in RegisterPool()
172 void Mir2Lir::Clobber(RegStorage reg) { in Clobber()
272 void Mir2Lir::RecordCorePromotion(RegStorage reg, int s_reg) { in RecordCorePromotion()
286 RegStorage Mir2Lir::AllocPreservedCoreReg(int s_reg) { in AllocPreservedCoreReg()
287 RegStorage res; in AllocPreservedCoreReg()
305 void Mir2Lir::RecordFpPromotion(RegStorage reg, int s_reg) { in RecordFpPromotion()
320 RegStorage Mir2Lir::AllocPreservedFpReg(int s_reg) { in AllocPreservedFpReg()
326 RegStorage res; in AllocPreservedFpReg()
339 RegStorage Mir2Lir::AllocPreservedDouble(int s_reg) { in AllocPreservedDouble()
340 RegStorage res; in AllocPreservedDouble()
346 RegStorage Mir2Lir::AllocPreservedSingle(int s_reg) { in AllocPreservedSingle()
347 RegStorage res; in AllocPreservedSingle()
353 RegStorage Mir2Lir::AllocTempBody(GrowableArray<RegisterInfo*> &regs, int* next_temp, bool required… in AllocTempBody()
408 return RegStorage::InvalidReg(); // No register available in AllocTempBody()
411 RegStorage Mir2Lir::AllocTemp(bool required) { in AllocTemp()
415 RegStorage Mir2Lir::AllocTempWide(bool required) { in AllocTempWide()
416 RegStorage res; in AllocTempWide()
420 RegStorage low_reg = AllocTemp(); in AllocTempWide()
421 RegStorage high_reg = AllocTemp(); in AllocTempWide()
422 res = RegStorage::MakeRegPair(low_reg, high_reg); in AllocTempWide()
430 RegStorage Mir2Lir::AllocTempRef(bool required) { in AllocTempRef()
431 RegStorage res = AllocTempBody(*reg_pool_->ref_regs_, reg_pool_->next_ref_reg_, required); in AllocTempRef()
439 RegStorage Mir2Lir::AllocTempSingle(bool required) { in AllocTempSingle()
440 RegStorage res = AllocTempBody(reg_pool_->sp_regs_, &reg_pool_->next_sp_reg_, required); in AllocTempSingle()
448 RegStorage Mir2Lir::AllocTempDouble(bool required) { in AllocTempDouble()
449 RegStorage res = AllocTempBody(reg_pool_->dp_regs_, &reg_pool_->next_dp_reg_, required); in AllocTempDouble()
457 RegStorage Mir2Lir::AllocTypedTempWide(bool fp_hint, int reg_class, bool required) { in AllocTypedTempWide()
465 RegStorage Mir2Lir::AllocTypedTemp(bool fp_hint, int reg_class, bool required) { in AllocTypedTemp()
474 RegStorage Mir2Lir::FindLiveReg(GrowableArray<RegisterInfo*> &regs, int s_reg) { in FindLiveReg()
475 RegStorage res; in FindLiveReg()
486 RegStorage Mir2Lir::AllocLiveReg(int s_reg, int reg_class, bool wide) { in AllocLiveReg()
487 RegStorage reg; in AllocLiveReg()
506 RegStorage high_reg = FindLiveReg(reg_pool_->core_regs_, s_reg + 1); in AllocLiveReg()
508 reg = RegStorage::MakeRegPair(reg, high_reg); in AllocLiveReg()
512 reg = RegStorage::InvalidReg(); in AllocLiveReg()
517 reg = RegStorage::InvalidReg(); in AllocLiveReg()
549 void Mir2Lir::FreeTemp(RegStorage reg) { in FreeTemp()
577 bool Mir2Lir::IsLive(RegStorage reg) { in IsLive()
591 bool Mir2Lir::IsTemp(RegStorage reg) { in IsTemp()
604 bool Mir2Lir::IsPromoted(RegStorage reg) { in IsPromoted()
617 bool Mir2Lir::IsDirty(RegStorage reg) { in IsDirty()
635 void Mir2Lir::LockTemp(RegStorage reg) { in LockTemp()
651 void Mir2Lir::ResetDef(RegStorage reg) { in ResetDef()
660 void Mir2Lir::NullifyRange(RegStorage reg, int s_reg) { in NullifyRange()
662 RegStorage rs = reg.IsPair() ? reg.GetLow() : reg; in NullifyRange()
722 RegStorage rs = rl.reg.IsPair() ? rl.reg.GetLow() : rl.reg; in ResetDefLocWide()
743 void Mir2Lir::FlushRegWide(RegStorage reg) { in FlushRegWide()
776 void Mir2Lir::FlushReg(RegStorage reg) { in FlushReg()
807 bool Mir2Lir::RegClassMatches(int reg_class, RegStorage reg) { in RegClassMatches()
822 RegStorage reg = loc.reg; in MarkLive()
866 void Mir2Lir::MarkTemp(RegStorage reg) { in MarkTemp()
873 void Mir2Lir::UnmarkTemp(RegStorage reg) { in UnmarkTemp()
880 void Mir2Lir::MarkWide(RegStorage reg) { in MarkWide()
902 void Mir2Lir::MarkNarrow(RegStorage reg) { in MarkNarrow()
938 void Mir2Lir::MarkInUse(RegStorage reg) { in MarkInUse()
952 RegStorage my_reg = info->GetReg(); in CheckCorePoolSanity()
953 RegStorage partner_reg = info->Partner(); in CheckCorePoolSanity()
1014 RegStorage reg = AllocLiveReg(loc.s_reg_low, loc.ref ? kRefReg : kAnyReg, false); in UpdateLoc()
1039 RegStorage reg = AllocLiveReg(loc.s_reg_low, kAnyReg, true); in UpdateLocWide()
1085 RegStorage new_regs = AllocTypedTempWide(loc.fp, reg_class); in EvalLocWide()
1126 RegStorage new_reg = AllocTypedTemp(loc.fp, reg_class); in EvalLoc()
1276 RegStorage reg = RegStorage::InvalidReg(); in DoPromotion()
1306 RegStorage reg = AllocPreservedCoreReg(low_sreg); in DoPromotion()
1320 RegStorage reg = RegStorage::InvalidReg(); in DoPromotion()
1327 reg = RegStorage::FloatSolo64(RegStorage::RegNum(reg_num) >> 1); in DoPromotion()
1331 reg = wide ? RegStorage::FloatSolo64(reg_num) : RegStorage::FloatSolo32(reg_num); in DoPromotion()
1337 reg = RegStorage(RegStorage::k64BitPair, reg_num, high_reg); in DoPromotion()
1340 reg = wide ? RegStorage::Solo64(reg_num) : RegStorage::Solo32(reg_num); in DoPromotion()