Add special handling for pseudo-instructions (print them as comments).
authorBrian Gaeke <gaeke@uiuc.edu>
Fri, 16 Jul 2004 10:31:47 +0000 (10:31 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Fri, 16 Jul 2004 10:31:47 +0000 (10:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14882 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcAsmPrinter.cpp
lib/Target/SparcV8/SparcV8AsmPrinter.cpp

index 64060abae686f60a7c36d5419a10b17aeef9d484..34cdade711b48752227bf9bda092202fcd7136b1 100644 (file)
@@ -455,6 +455,19 @@ static bool isStoreInstruction (const MachineInstr *MI) {
   }
 }
 
+static bool isPseudoInstruction (const MachineInstr *MI) {
+  switch (MI->getOpcode ()) {
+  case V8::PHI:
+  case V8::ADJCALLSTACKUP:
+  case V8::ADJCALLSTACKDOWN:
+  case V8::IMPLICIT_USE:
+  case V8::IMPLICIT_DEF:
+    return true;
+  default:
+    return false;
+  }
+}
+
 /// printBaseOffsetPair - Print two consecutive operands of MI, starting at #i,
 /// which form a base + offset pair (which may have brackets around it, if
 /// brackets is true, or may be in the form base - constant, if offset is a
@@ -484,6 +497,11 @@ void V8Printer::printMachineInstruction(const MachineInstr *MI) {
   unsigned Opcode = MI->getOpcode();
   const TargetInstrInfo &TII = *TM.getInstrInfo();
   const TargetInstrDescriptor &Desc = TII.get(Opcode);
+
+  // If it's a pseudo-instruction, comment it out.
+  if (isPseudoInstruction (MI))
+    O << "! ";
+
   O << Desc.Name << " ";
   
   // Printing memory instructions is a special case.
index 64060abae686f60a7c36d5419a10b17aeef9d484..34cdade711b48752227bf9bda092202fcd7136b1 100644 (file)
@@ -455,6 +455,19 @@ static bool isStoreInstruction (const MachineInstr *MI) {
   }
 }
 
+static bool isPseudoInstruction (const MachineInstr *MI) {
+  switch (MI->getOpcode ()) {
+  case V8::PHI:
+  case V8::ADJCALLSTACKUP:
+  case V8::ADJCALLSTACKDOWN:
+  case V8::IMPLICIT_USE:
+  case V8::IMPLICIT_DEF:
+    return true;
+  default:
+    return false;
+  }
+}
+
 /// printBaseOffsetPair - Print two consecutive operands of MI, starting at #i,
 /// which form a base + offset pair (which may have brackets around it, if
 /// brackets is true, or may be in the form base - constant, if offset is a
@@ -484,6 +497,11 @@ void V8Printer::printMachineInstruction(const MachineInstr *MI) {
   unsigned Opcode = MI->getOpcode();
   const TargetInstrInfo &TII = *TM.getInstrInfo();
   const TargetInstrDescriptor &Desc = TII.get(Opcode);
+
+  // If it's a pseudo-instruction, comment it out.
+  if (isPseudoInstruction (MI))
+    O << "! ";
+
   O << Desc.Name << " ";
   
   // Printing memory instructions is a special case.