Lines Matching defs:PhysReg
81 const LiveInterval &VRegInterval, MCRegister PhysReg,
84 for (MCRegUnitMaskIterator Units(PhysReg, TRI); Units.isValid(); ++Units) {
96 for (MCRegUnit Unit : TRI->regunits(PhysReg)) {
104 void LiveRegMatrix::assign(const LiveInterval &VirtReg, MCRegister PhysReg) {
106 << printReg(PhysReg, TRI) << ':');
108 VRM->assignVirt2Phys(VirtReg.reg(), PhysReg);
111 TRI, VirtReg, PhysReg, [&](unsigned Unit, const LiveRange &Range) {
122 Register PhysReg = VRM->getPhys(VirtReg.reg());
124 << " from " << printReg(PhysReg, TRI) << ':');
127 foreachUnit(TRI, VirtReg, PhysReg,
138 bool LiveRegMatrix::isPhysRegUsed(MCRegister PhysReg) const {
139 for (MCRegUnit Unit : TRI->regunits(PhysReg)) {
147 MCRegister PhysReg) {
158 // The BitVector is indexed by PhysReg, not register unit.
161 return !RegMaskUsable.empty() && (!PhysReg || !RegMaskUsable.test(PhysReg));
165 MCRegister PhysReg) {
168 CoalescerPair CP(VirtReg.reg(), PhysReg, *TRI);
170 bool Result = foreachUnit(TRI, VirtReg, PhysReg, [&](unsigned Unit,
187 MCRegister PhysReg) {
192 if (checkRegMaskInterference(VirtReg, PhysReg))
196 if (checkRegUnitInterference(VirtReg, PhysReg))
200 bool Interference = foreachUnit(TRI, VirtReg, PhysReg,
211 MCRegister PhysReg) {
219 for (MCRegUnit Unit : TRI->regunits(PhysReg)) {
240 Register LiveRegMatrix::getOneVReg(unsigned PhysReg) const {
242 for (MCRegUnit Unit : TRI->regunits(PhysReg)) {