Lines Matching defs:RC
79 const TargetRegisterClass *RC;
85 SubRegInfo(const TargetRegisterClass *RC_ = nullptr) : RC(RC_) {}
88 /// Map OldSubReg -> { RC, NewSubReg }. Used as in/out container.
91 /// Given register class RC and the set of used subregs as keys in the SubRegs
95 const TargetRegisterClass *getMinSizeReg(const TargetRegisterClass *RC,
98 /// Given regclass RC and pairs of [OldSubReg, SubRegRC] in SubRegs try to
114 getRegClassWithShiftedSubregs(const TargetRegisterClass *RC, unsigned RShift,
140 /// RC by SubRegIdx. The result is cached in SuperRegMasks data-member.
141 const uint32_t *getSuperRegClassMask(const TargetRegisterClass *RC,
144 /// Cache for getSuperRegClassMask method: { RC, SubRegIdx } -> Class bitmask.
185 GCNRewritePartialRegUses::getSuperRegClassMask(const TargetRegisterClass *RC,
188 SuperRegMasks.try_emplace({RC, SubRegIdx}, nullptr);
190 for (SuperRegClassIterator RCI(RC, TRI); RCI.isValid(); ++RCI) {
208 auto *RC = TRI->getRegClass(ClassID);
209 if (RC->isAllocatable() && TRI->isRegClassAligned(RC, AlignNumBits))
218 const TargetRegisterClass *RC, unsigned RShift, unsigned RegNumBits,
221 unsigned RCAlign = TRI->getRegClassAlignmentNumBits(RC);
236 // Covering subreg will become a full register, RC should be allocatable.
269 auto *RC = TRI->getRegClass(ClassID);
270 unsigned NumBits = TRI->getRegSizeInBits(*RC);
273 MinRC = RC;
288 return (MinRC != RC || RShift != 0) ? MinRC : nullptr;
292 GCNRewritePartialRegUses::getMinSizeReg(const TargetRegisterClass *RC,
314 return getRegClassWithShiftedSubregs(RC, Offset, End - Offset, CoverSubreg,
322 MaxAlign = std::max(MaxAlign, TRI->getSubRegAlignmentNumBits(RC, SubReg));
326 if (TRI->getSubRegAlignmentNumBits(RC, SubReg) != MaxAlign)
341 return getRegClassWithShiftedSubregs(RC, RShift, End - RShift, 0, SubRegs);
416 auto *RC = MRI->getRegClass(Reg);
418 << ':' << TRI->getRegClassName(RC) << '\n');
429 const TargetRegisterClass *&SubRegRC = I->second.RC;
432 SubRegRC = TRI->getSubRegisterClass(RC, SubReg);
449 auto *NewRC = getMinSizeReg(RC, SubRegs);
457 << TRI->getRegClassName(RC) << " -> "