Lines Matching refs:Reg
71 unsigned Reg = *AI; in StartBlock() local
72 Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1); in StartBlock()
73 KillIndices[Reg] = BBSize; in StartBlock()
74 DefIndices[Reg] = ~0u; in StartBlock()
85 unsigned Reg = *I; in StartBlock() local
86 if (!IsReturnBlock && !Pristine.test(Reg)) in StartBlock()
89 unsigned Reg = *AI; in StartBlock() local
90 Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1); in StartBlock()
91 KillIndices[Reg] = BBSize; in StartBlock()
92 DefIndices[Reg] = ~0u; in StartBlock()
115 for (unsigned Reg = 0; Reg != TRI->getNumRegs(); ++Reg) { in Observe() local
116 if (KillIndices[Reg] != ~0u) { in Observe()
120 Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1); in Observe()
121 KillIndices[Reg] = Count; in Observe()
122 } else if (DefIndices[Reg] < InsertPosIndex && DefIndices[Reg] >= Count) { in Observe()
127 Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1); in Observe()
131 DefIndices[Reg] = InsertPosIndex; in Observe()
185 Register Reg = MO.getReg(); in PrescanInstruction() local
186 if (Reg == 0) continue; in PrescanInstruction()
194 if (!Classes[Reg] && NewRC) in PrescanInstruction()
195 Classes[Reg] = NewRC; in PrescanInstruction()
196 else if (!NewRC || Classes[Reg] != NewRC) in PrescanInstruction()
197 Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1); in PrescanInstruction()
200 for (MCRegAliasIterator AI(Reg, TRI, false); AI.isValid(); ++AI) { in PrescanInstruction()
207 Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1); in PrescanInstruction()
212 if (Classes[Reg] != reinterpret_cast<TargetRegisterClass *>(-1)) in PrescanInstruction()
213 RegRefs.insert(std::make_pair(Reg, &MO)); in PrescanInstruction()
226 Classes[Reg] == reinterpret_cast<TargetRegisterClass *>(-1)) { in PrescanInstruction()
227 for (MCSubRegIterator SubRegs(Reg, TRI, /*IncludeSelf=*/true); in PrescanInstruction()
231 for (MCSuperRegIterator SuperRegs(Reg, TRI); in PrescanInstruction()
238 if (!KeepRegs.test(Reg)) { in PrescanInstruction()
239 for (MCSubRegIterator SubRegs(Reg, TRI, /*IncludeSelf=*/true); in PrescanInstruction()
280 Register Reg = MO.getReg(); in ScanInstruction() local
281 if (Reg == 0) continue; in ScanInstruction()
290 bool Keep = KeepRegs.test(Reg); in ScanInstruction()
294 for (MCSubRegIterator SRI(Reg, TRI, true); SRI.isValid(); ++SRI) { in ScanInstruction()
304 for (MCSuperRegIterator SR(Reg, TRI); SR.isValid(); ++SR) in ScanInstruction()
311 Register Reg = MO.getReg(); in ScanInstruction() local
312 if (Reg == 0) continue; in ScanInstruction()
321 if (!Classes[Reg] && NewRC) in ScanInstruction()
322 Classes[Reg] = NewRC; in ScanInstruction()
323 else if (!NewRC || Classes[Reg] != NewRC) in ScanInstruction()
324 Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1); in ScanInstruction()
326 RegRefs.insert(std::make_pair(Reg, &MO)); in ScanInstruction()
330 for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI) { in ScanInstruction()
471 for (unsigned Reg = 0; Reg < TRI->getNumRegs(); ++Reg) { in BreakAntiDependencies() local
472 if (KillIndices[Reg] == ~0u) in BreakAntiDependencies()
473 LLVM_DEBUG(dbgs() << " " << printReg(Reg, TRI)); in BreakAntiDependencies()
620 Register Reg = MO.getReg(); in BreakAntiDependencies() local
621 if (Reg == 0) continue; in BreakAntiDependencies()
622 if (MO.isUse() && TRI->regsOverlap(AntiDepReg, Reg)) { in BreakAntiDependencies()
626 if (MO.isDef() && Reg != AntiDepReg) in BreakAntiDependencies()
627 ForbidRegs.push_back(Reg); in BreakAntiDependencies()