[llvm-commits] CVS: llvm/lib/CodeGen/MachineInstr.cpp
Chris Lattner
lattner at cs.uiuc.edu
Tue Oct 29 18:59:01 PST 2002
Changes in directory llvm/lib/CodeGen:
MachineInstr.cpp updated: 1.60 -> 1.61
---
Log message:
Use MRegisterInfo, if available, to print symbolic register names
---
Diffs of the changes:
Index: llvm/lib/CodeGen/MachineInstr.cpp
diff -u llvm/lib/CodeGen/MachineInstr.cpp:1.60 llvm/lib/CodeGen/MachineInstr.cpp:1.61
--- llvm/lib/CodeGen/MachineInstr.cpp:1.60 Tue Oct 29 18:48:05 2002
+++ llvm/lib/CodeGen/MachineInstr.cpp Tue Oct 29 18:58:19 2002
@@ -7,6 +7,7 @@
#include "llvm/Value.h"
#include "llvm/Target/MachineInstrInfo.h" // FIXME: shouldn't need this!
#include "llvm/Target/TargetMachine.h"
+#include "llvm/Target/MRegisterInfo.h"
using std::cerr;
// Global variable holding an array of descriptors for machine instructions.
@@ -191,14 +192,20 @@
return os << (void*) val << ")"; // print address only
}
-static inline std::ostream&
-OutputReg(std::ostream &os, unsigned int regNum)
-{
- return os << "%mreg(" << regNum << ")";
+static inline void OutputReg(std::ostream &os, unsigned RegNo,
+ const MRegisterInfo *MRI = 0) {
+ if (MRI) {
+ if (RegNo < MRegisterInfo::FirstVirtualRegister)
+ os << "%" << MRI->get(RegNo).Name;
+ else
+ os << "%reg" << RegNo;
+ } else
+ os << "%mreg(" << RegNo << ")";
}
static void print(const MachineOperand &MO, std::ostream &OS,
const TargetMachine &TM) {
+ const MRegisterInfo *MRI = TM.getRegisterInfo();
bool CloseParen = true;
if (MO.opHiBits32())
OS << "%lm(";
@@ -220,18 +227,18 @@
OS << "==";
}
if (MO.hasAllocatedReg())
- OutputReg(OS, MO.getAllocatedRegNum());
+ OutputReg(OS, MO.getAllocatedRegNum(), MRI);
break;
case MachineOperand::MO_CCRegister:
OS << "%ccreg";
OutputValue(OS, MO.getVRegValue());
if (MO.hasAllocatedReg()) {
OS << "==";
- OutputReg(OS, MO.getAllocatedRegNum());
+ OutputReg(OS, MO.getAllocatedRegNum(), MRI);
}
break;
case MachineOperand::MO_MachineRegister:
- OutputReg(OS, MO.getMachineRegNum());
+ OutputReg(OS, MO.getMachineRegNum(), MRI);
break;
case MachineOperand::MO_SignExtendedImmed:
OS << (long)MO.getImmedValue();
More information about the llvm-commits
mailing list