Lines Matching defs:SubRegs
91 /// Given register class RC and the set of used subregs as keys in the SubRegs
93 /// values in SubRegs map such that the resulting regclass would contain
96 SubRegMap &SubRegs) const;
98 /// Given regclass RC and pairs of [OldSubReg, SubRegRC] in SubRegs try to
108 /// SubRegs is map of OldSubReg -> [SubRegRC, NewSubReg] and is used as in/out
116 SubRegMap &SubRegs) const;
118 /// Update live intervals after rewriting OldReg to NewReg with SubRegs map
121 SubRegMap &SubRegs) const;
133 /// such subregister index. The result is cached in SubRegs data-member.
137 mutable SmallDenseMap<std::pair<unsigned, unsigned>, unsigned> SubRegs;
165 const auto [I, Inserted] = SubRegs.try_emplace({Offset, Size}, 0);
219 unsigned CoverSubregIdx, SubRegMap &SubRegs) const {
226 for (auto &[OldSubReg, SRI] : SubRegs) {
281 for (auto [SubReg, SRI] : SubRegs)
293 SubRegMap &SubRegs) const {
297 for (auto [SubReg, SRI] : SubRegs) {
315 SubRegs);
321 for (auto [SubReg, SRI] : SubRegs)
325 for (auto [SubReg, SRI] : SubRegs) {
341 return getRegClassWithShiftedSubregs(RC, RShift, End - RShift, 0, SubRegs);
348 SubRegMap &SubRegs) const {
359 auto I = find_if(SubRegs, [&](auto &P) {
363 if (I == SubRegs.end()) {
394 SubRegs.erase(I);
422 SubRegMap SubRegs;
428 const auto [I, Inserted] = SubRegs.try_emplace(SubReg);
449 auto *NewRC = getMinSizeReg(RC, SubRegs);
467 unsigned SubReg = SubRegs[MO.getSubReg()].SubReg;
474 updateLiveIntervals(Reg, NewReg, SubRegs);