forked from OSchip/llvm-project
MIR Printer: move the function 'printReg'. NFC.
This commit moves the function 'printReg' towards the start of the file so that it can be used by the conversion methods in MIRPrinter and not just the printing methods in MIPrinter. llvm-svn: 242203
This commit is contained in:
parent
586b741959
commit
15a00a858a
|
@ -90,6 +90,19 @@ template <> struct BlockScalarTraits<Module> {
|
|||
} // end namespace yaml
|
||||
} // end namespace llvm
|
||||
|
||||
static void printReg(unsigned Reg, raw_ostream &OS,
|
||||
const TargetRegisterInfo *TRI) {
|
||||
// TODO: Print Stack Slots.
|
||||
if (!Reg)
|
||||
OS << '_';
|
||||
else if (TargetRegisterInfo::isVirtualRegister(Reg))
|
||||
OS << '%' << TargetRegisterInfo::virtReg2Index(Reg);
|
||||
else if (Reg < TRI->getNumRegs())
|
||||
OS << '%' << StringRef(TRI->getName(Reg)).lower();
|
||||
else
|
||||
llvm_unreachable("Can't print this kind of register yet");
|
||||
}
|
||||
|
||||
void MIRPrinter::print(const MachineFunction &MF) {
|
||||
initRegisterMaskIds(MF);
|
||||
|
||||
|
@ -271,19 +284,6 @@ void MIPrinter::print(const MachineInstr &MI) {
|
|||
}
|
||||
}
|
||||
|
||||
static void printReg(unsigned Reg, raw_ostream &OS,
|
||||
const TargetRegisterInfo *TRI) {
|
||||
// TODO: Print Stack Slots.
|
||||
if (!Reg)
|
||||
OS << '_';
|
||||
else if (TargetRegisterInfo::isVirtualRegister(Reg))
|
||||
OS << '%' << TargetRegisterInfo::virtReg2Index(Reg);
|
||||
else if (Reg < TRI->getNumRegs())
|
||||
OS << '%' << StringRef(TRI->getName(Reg)).lower();
|
||||
else
|
||||
llvm_unreachable("Can't print this kind of register yet");
|
||||
}
|
||||
|
||||
void MIPrinter::printMBBReference(const MachineBasicBlock &MBB) {
|
||||
OS << "%bb." << MBB.getNumber();
|
||||
if (const auto *BB = MBB.getBasicBlock()) {
|
||||
|
|
Loading…
Reference in New Issue