Lines Matching refs:RegUses
186 // Update RegUses. The data structure is not optimized for this purpose;
265 const RegUseTracker &RegUses) const;
382 const RegUseTracker &RegUses) const {
384 if (RegUses.isRegUsedByUsesOtherThan(ScaledReg, LUIdx))
388 if (RegUses.isRegUsedByUsesOtherThan(*I, LUIdx))
1171 void RecomputeRegs(size_t LUIdx, RegUseTracker &Reguses);
1225 /// RecomputeRegs - Recompute the Regs field, and update RegUses.
1226 void LSRUse::RecomputeRegs(size_t LUIdx, RegUseTracker &RegUses) {
1241 RegUses.DropRegister(*I, LUIdx);
1528 /// RegUses - Track which uses use which register candidates.
1529 RegUseTracker RegUses;
2170 // Update RegUses.
2171 RegUses.SwapAndDropUse(LUIdx, Uses.size());
2924 /// updating RegUses.
2927 RegUses.CountRegister(F.ScaledReg, LUIdx);
2930 RegUses.CountRegister(*I, LUIdx);
2950 SmallVector<const SCEV *, 8> Worklist(RegUses.begin(), RegUses.end());
3422 if (!F.hasRegsUsedByUsesOtherThan(LUIdx, RegUses))
3469 for (RegUseTracker::const_iterator I = RegUses.begin(), E = RegUses.end();
3478 UsedByIndicesMap[Reg] |= RegUses.getUsedByIndices(*I);
3507 RegUses.getUsedByIndices(OrigReg);
3711 if (RegUses.isRegUsedByUsesOtherThan(Reg, LUIdx))
3715 RegUses.isRegUsedByUsesOtherThan(F.ScaledReg, LUIdx))
3749 LU.RecomputeRegs(LUIdx, RegUses);
3841 LU.RecomputeRegs(LUIdx, RegUses);
3919 LUThatHas->RecomputeRegs(LUThatHas - &Uses.front(), RegUses);
3966 for (RegUseTracker::const_iterator I = RegUses.begin(), E = RegUses.end();
3974 unsigned Count = RegUses.getUsedByIndices(Reg).count();
4007 LU.RecomputeRegs(LUIdx, RegUses);
4673 RegUses.clear();