Printable PrintReg(unsigned Reg, const TargetRegisterInfo *TRI,
unsigned SubIdx) {
- return [Reg, TRI, SubIdx](raw_ostream &OS) {
+ return Printable([Reg, TRI, SubIdx](raw_ostream &OS) {
if (!Reg)
OS << "%noreg";
else if (TargetRegisterInfo::isStackSlot(Reg))
else
OS << ":sub(" << SubIdx << ')';
}
- };
+ });
}
Printable PrintRegUnit(unsigned Unit, const TargetRegisterInfo *TRI) {
- return [Unit, TRI](raw_ostream &OS) {
+ return Printable([Unit, TRI](raw_ostream &OS) {
// Generic printout when TRI is missing.
if (!TRI) {
OS << "Unit~" << Unit;
OS << TRI->getName(*Roots);
for (++Roots; Roots.isValid(); ++Roots)
OS << '~' << TRI->getName(*Roots);
- };
+ });
}
Printable PrintVRegOrUnit(unsigned Unit, const TargetRegisterInfo *TRI) {
- return [Unit, TRI](raw_ostream &OS) {
+ return Printable([Unit, TRI](raw_ostream &OS) {
if (TRI && TRI->isVirtualRegister(Unit)) {
OS << "%vreg" << TargetRegisterInfo::virtReg2Index(Unit);
} else {
OS << PrintRegUnit(Unit, TRI);
}
- };
+ });
}
Printable PrintLaneMask(LaneBitmask LaneMask) {
- return [LaneMask](raw_ostream &OS) {
+ return Printable([LaneMask](raw_ostream &OS) {
OS << format("%08X", LaneMask);
- };
+ });
}
} // End of llvm namespace