Factory methods for FunctionPasses now return type FunctionPass *.
authorBrian Gaeke <gaeke@uiuc.edu>
Wed, 13 Aug 2003 18:15:15 +0000 (18:15 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Wed, 13 Aug 2003 18:15:15 +0000 (18:15 +0000)
Revert (to v1.55) one of the hunks of Chris's change that messed up the
 %-register workaround.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7815 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/Printer.cpp
lib/Target/X86/X86AsmPrinter.cpp

index 09fae4e4acaf0676acd301f1b5a7d10b897fd02f..1a688449fe79a586e577c505fbd5902040a01b42 100644 (file)
@@ -81,7 +81,7 @@ namespace {
 /// using the given target machine description.  This should work
 /// regardless of whether the function is in SSA form.
 ///
-Pass *createX86CodePrinterPass(std::ostream &o, TargetMachine &tm) {
+FunctionPass *createX86CodePrinterPass(std::ostream &o,TargetMachine &tm){
   return new Printer(o, tm);
 }
 
@@ -461,10 +461,10 @@ void Printer::printOp(const MachineOperand &MO,
     }
     // FALLTHROUGH
   case MachineOperand::MO_MachineRegister:
-    if (MO.getReg() < MRegisterInfo::FirstVirtualRegister) {
+    if (MO.getReg() < MRegisterInfo::FirstVirtualRegister)
       // Bug Workaround: See note in Printer::doInitialization about %.
-      O << RI.get(MO.getReg()).Name;
-    else
+      O << "%" << RI.get(MO.getReg()).Name;
+    else
       O << "%reg" << MO.getReg();
     return;
 
@@ -918,9 +918,6 @@ bool Printer::doInitialization(Module &M) {
   // before being looked up in the symbol table. This creates spurious
   // `undefined symbol' errors when linking. Workaround: Do not use `noprefix'
   // mode, and decorate all register names with percent signs.
-  //
-  // Cygwin presumably doesn't have this problem, so drop the %'s.
-  //
   O << "\t.intel_syntax\n";
   Mang = new Mangler(M, EmitCygwin);
   return false; // success
index 09fae4e4acaf0676acd301f1b5a7d10b897fd02f..1a688449fe79a586e577c505fbd5902040a01b42 100644 (file)
@@ -81,7 +81,7 @@ namespace {
 /// using the given target machine description.  This should work
 /// regardless of whether the function is in SSA form.
 ///
-Pass *createX86CodePrinterPass(std::ostream &o, TargetMachine &tm) {
+FunctionPass *createX86CodePrinterPass(std::ostream &o,TargetMachine &tm){
   return new Printer(o, tm);
 }
 
@@ -461,10 +461,10 @@ void Printer::printOp(const MachineOperand &MO,
     }
     // FALLTHROUGH
   case MachineOperand::MO_MachineRegister:
-    if (MO.getReg() < MRegisterInfo::FirstVirtualRegister) {
+    if (MO.getReg() < MRegisterInfo::FirstVirtualRegister)
       // Bug Workaround: See note in Printer::doInitialization about %.
-      O << RI.get(MO.getReg()).Name;
-    else
+      O << "%" << RI.get(MO.getReg()).Name;
+    else
       O << "%reg" << MO.getReg();
     return;
 
@@ -918,9 +918,6 @@ bool Printer::doInitialization(Module &M) {
   // before being looked up in the symbol table. This creates spurious
   // `undefined symbol' errors when linking. Workaround: Do not use `noprefix'
   // mode, and decorate all register names with percent signs.
-  //
-  // Cygwin presumably doesn't have this problem, so drop the %'s.
-  //
   O << "\t.intel_syntax\n";
   Mang = new Mangler(M, EmitCygwin);
   return false; // success