Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:TRI

45 Printable PrintReg(unsigned Reg, const TargetRegisterInfo *TRI,
47 return Printable([Reg, TRI, SubIdx](raw_ostream &OS) {
54 else if (TRI && Reg < TRI->getNumRegs())
55 OS << '%' << TRI->getName(Reg);
59 if (TRI)
60 OS << ':' << TRI->getSubRegIndexName(SubIdx);
67 Printable PrintRegUnit(unsigned Unit, const TargetRegisterInfo *TRI) {
68 return Printable([Unit, TRI](raw_ostream &OS) {
69 // Generic printout when TRI is missing.
70 if (!TRI) {
76 if (Unit >= TRI->getNumRegUnits()) {
82 MCRegUnitRootIterator Roots(Unit, TRI);
84 OS << TRI->getName(*Roots);
86 OS << '~' << TRI->getName(*Roots);
90 Printable PrintVRegOrUnit(unsigned Unit, const TargetRegisterInfo *TRI) {
91 return Printable([Unit, TRI](raw_ostream &OS) {
92 if (TRI && TRI->isVirtualRegister(Unit)) {
95 OS << PrintRegUnit(Unit, TRI);
187 const TargetRegisterInfo *TRI,
191 for (unsigned I = 0, E = TRI->getNumRegClasses(); I < E; I += 32)
194 TRI->getRegClass(I + countTrailingZeros(Common));
296 static bool shareSameRegisterFile(const TargetRegisterInfo &TRI,
308 return TRI.getCommonSuperRegClass(SrcRC, SrcSubReg, DefRC, DefSubReg,
321 return TRI.getMatchingSuperRegClass(SrcRC, DefRC, SrcSubReg) != nullptr;
324 return TRI.getCommonSubClass(DefRC, SrcRC) != nullptr;
348 // TRI::getRegAllocationHints to interpret those hint types.
349 assert(Hint.first == 0 && "Target must implement TRI::getRegAllocationHints");
394 const TargetRegisterInfo *TRI) {
395 dbgs() << PrintReg(Reg, TRI, SubRegIndex) << "\n";