Lines Matching refs:Reg
133 unsigned Reg = MO.getReg();
134 if (!Reg)
136 assert(TargetRegisterInfo::isPhysicalRegister(Reg));
137 if (LocalDefSet.count(Reg)) {
141 KilledDefSet.insert(Reg);
143 if (ExternUseSet.insert(Reg)) {
144 ExternUses.push_back(Reg);
146 UndefUseSet.insert(Reg);
150 KilledUseSet.insert(Reg);
156 unsigned Reg = MO.getReg();
157 if (!Reg)
160 if (LocalDefSet.insert(Reg)) {
161 LocalDefs.push_back(Reg);
163 DeadDefSet.insert(Reg);
167 KilledDefSet.erase(Reg);
170 DeadDefSet.erase(Reg);
174 for (MCSubRegIterator SubRegs(Reg, TRI); SubRegs.isValid(); ++SubRegs) {
187 unsigned Reg = LocalDefs[i];
188 if (Added.insert(Reg)) {
190 bool isDead = DeadDefSet.count(Reg) || KilledDefSet.count(Reg);
191 MIB.addReg(Reg, getDefRegState(true) | getDeadRegState(isDead) |
197 unsigned Reg = ExternUses[i];
198 bool isKill = KilledUseSet.count(Reg);
199 bool isUndef = UndefUseSet.count(Reg);
200 MIB.addReg(Reg, getKillRegState(isKill) | getUndefRegState(isUndef) |
252 MachineOperandIteratorBase::analyzeVirtReg(unsigned Reg,
257 if (!MO.isReg() || MO.getReg() != Reg)
260 // Remember each (MI, OpNo) that refers to Reg.
281 MachineOperandIteratorBase::analyzePhysReg(unsigned Reg,
286 assert(TargetRegisterInfo::isPhysicalRegister(Reg) &&
291 if (MO.isRegMask() && MO.clobbersPhysReg(Reg))
292 PRI.Clobbers = true; // Regmask clobbers Reg.
301 bool IsRegOrSuperReg = MOReg == Reg || TRI->isSubRegister(MOReg, Reg);
302 bool IsRegOrOverlapping = MOReg == Reg || TRI->regsOverlap(MOReg, Reg);
305 // Reg or a super-reg is read, and perhaps killed also.
311 PRI.ReadsOverlap = true;// Reg or an overlapping register is read.
318 PRI.Defines = true; // Reg or a super-register is defined.
323 PRI.Clobbers = true; // Reg or an overlapping reg is defined.
327 PRI.DefinesDead = true; // Reg or super-register was defined and was dead.