diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2004-07-26 16:28:33 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2004-07-26 16:28:33 +0000 |
commit | cf8d24439458ac77e3d3565b51964e0a8802b339 (patch) | |
tree | 4ef26aa991c8c601d179435bbacfdd6aaf45d891 | |
parent | bb966a4a592091b7206027a1090c92ad52f0f3e8 (diff) |
Increment the label number in runOnFunction() rather than while printing out
some instruction. Patch by Nate Begeman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15236 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/PowerPC/PPC32AsmPrinter.cpp | 21 | ||||
-rw-r--r-- | lib/Target/PowerPC/PPCAsmPrinter.cpp | 21 | ||||
-rw-r--r-- | lib/Target/PowerPC/PowerPCAsmPrinter.cpp | 21 |
3 files changed, 30 insertions, 33 deletions
diff --git a/lib/Target/PowerPC/PPC32AsmPrinter.cpp b/lib/Target/PowerPC/PPC32AsmPrinter.cpp index b0dcf272dd..5412e0faac 100644 --- a/lib/Target/PowerPC/PPC32AsmPrinter.cpp +++ b/lib/Target/PowerPC/PPC32AsmPrinter.cpp @@ -56,8 +56,8 @@ namespace { std::set<std::string> FnStubs, GVStubs, LinkOnceStubs; std::set<std::string> Strings; - Printer(std::ostream &o, TargetMachine &tm) : O(o), - TM(reinterpret_cast<PowerPCTargetMachine&>(tm)), labelNumber(0) { } + Printer(std::ostream &o, TargetMachine &tm) : O(o), + TM(reinterpret_cast<PowerPCTargetMachine&>(tm)), LabelNumber(0) {} /// Cache of mangled name for current function. This is /// recalculated at the beginning of each call to @@ -65,11 +65,10 @@ namespace { /// std::string CurrentFnName; - /// Unique incrementer for label values for referencing - /// Global values. + /// Unique incrementer for label values for referencing Global values. /// - unsigned int labelNumber; - + unsigned LabelNumber; + virtual const char *getPassName() const { return "PowerPC Assembly Printer"; } @@ -396,6 +395,7 @@ bool Printer::runOnMachineFunction(MachineFunction &MF) { printMachineInstruction(II); } } + ++LabelNumber; // We didn't modify anything. return false; @@ -526,8 +526,8 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { return; } else if (Opcode == PPC32::MovePCtoLR) { // FIXME: should probably be converted to cout.width and cout.fill - O << "bl \"L0000" << labelNumber << "$pb\"\n"; - O << "\"L0000" << labelNumber << "$pb\":\n"; + O << "bl \"L0000" << LabelNumber << "$pb\"\n"; + O << "\"L0000" << LabelNumber << "$pb\":\n"; O << "\tmflr "; printOp(MI->getOperand(0)); O << "\n"; @@ -539,8 +539,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { printOp(MI->getOperand(0)); O << ", lo16("; printOp(MI->getOperand(2)); - O << "-\"L0000" << labelNumber << "$pb\")"; - labelNumber++; + O << "-\"L0000" << LabelNumber << "$pb\")"; O << "("; if (MI->getOperand(1).getReg() == PPC32::R0) O << "0"; @@ -556,7 +555,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { printOp(MI->getOperand(1)); O << ", ha16(" ; printOp(MI->getOperand(2)); - O << "-\"L0000" << labelNumber << "$pb\")\n"; + O << "-\"L0000" << LabelNumber << "$pb\")\n"; } else if (ArgCount == 3 && ArgType[1] == PPC32II::Disimm16) { printOp(MI->getOperand(0)); O << ", "; diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index b0dcf272dd..5412e0faac 100644 --- a/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -56,8 +56,8 @@ namespace { std::set<std::string> FnStubs, GVStubs, LinkOnceStubs; std::set<std::string> Strings; - Printer(std::ostream &o, TargetMachine &tm) : O(o), - TM(reinterpret_cast<PowerPCTargetMachine&>(tm)), labelNumber(0) { } + Printer(std::ostream &o, TargetMachine &tm) : O(o), + TM(reinterpret_cast<PowerPCTargetMachine&>(tm)), LabelNumber(0) {} /// Cache of mangled name for current function. This is /// recalculated at the beginning of each call to @@ -65,11 +65,10 @@ namespace { /// std::string CurrentFnName; - /// Unique incrementer for label values for referencing - /// Global values. + /// Unique incrementer for label values for referencing Global values. /// - unsigned int labelNumber; - + unsigned LabelNumber; + virtual const char *getPassName() const { return "PowerPC Assembly Printer"; } @@ -396,6 +395,7 @@ bool Printer::runOnMachineFunction(MachineFunction &MF) { printMachineInstruction(II); } } + ++LabelNumber; // We didn't modify anything. return false; @@ -526,8 +526,8 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { return; } else if (Opcode == PPC32::MovePCtoLR) { // FIXME: should probably be converted to cout.width and cout.fill - O << "bl \"L0000" << labelNumber << "$pb\"\n"; - O << "\"L0000" << labelNumber << "$pb\":\n"; + O << "bl \"L0000" << LabelNumber << "$pb\"\n"; + O << "\"L0000" << LabelNumber << "$pb\":\n"; O << "\tmflr "; printOp(MI->getOperand(0)); O << "\n"; @@ -539,8 +539,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { printOp(MI->getOperand(0)); O << ", lo16("; printOp(MI->getOperand(2)); - O << "-\"L0000" << labelNumber << "$pb\")"; - labelNumber++; + O << "-\"L0000" << LabelNumber << "$pb\")"; O << "("; if (MI->getOperand(1).getReg() == PPC32::R0) O << "0"; @@ -556,7 +555,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { printOp(MI->getOperand(1)); O << ", ha16(" ; printOp(MI->getOperand(2)); - O << "-\"L0000" << labelNumber << "$pb\")\n"; + O << "-\"L0000" << LabelNumber << "$pb\")\n"; } else if (ArgCount == 3 && ArgType[1] == PPC32II::Disimm16) { printOp(MI->getOperand(0)); O << ", "; diff --git a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp index b0dcf272dd..5412e0faac 100644 --- a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp @@ -56,8 +56,8 @@ namespace { std::set<std::string> FnStubs, GVStubs, LinkOnceStubs; std::set<std::string> Strings; - Printer(std::ostream &o, TargetMachine &tm) : O(o), - TM(reinterpret_cast<PowerPCTargetMachine&>(tm)), labelNumber(0) { } + Printer(std::ostream &o, TargetMachine &tm) : O(o), + TM(reinterpret_cast<PowerPCTargetMachine&>(tm)), LabelNumber(0) {} /// Cache of mangled name for current function. This is /// recalculated at the beginning of each call to @@ -65,11 +65,10 @@ namespace { /// std::string CurrentFnName; - /// Unique incrementer for label values for referencing - /// Global values. + /// Unique incrementer for label values for referencing Global values. /// - unsigned int labelNumber; - + unsigned LabelNumber; + virtual const char *getPassName() const { return "PowerPC Assembly Printer"; } @@ -396,6 +395,7 @@ bool Printer::runOnMachineFunction(MachineFunction &MF) { printMachineInstruction(II); } } + ++LabelNumber; // We didn't modify anything. return false; @@ -526,8 +526,8 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { return; } else if (Opcode == PPC32::MovePCtoLR) { // FIXME: should probably be converted to cout.width and cout.fill - O << "bl \"L0000" << labelNumber << "$pb\"\n"; - O << "\"L0000" << labelNumber << "$pb\":\n"; + O << "bl \"L0000" << LabelNumber << "$pb\"\n"; + O << "\"L0000" << LabelNumber << "$pb\":\n"; O << "\tmflr "; printOp(MI->getOperand(0)); O << "\n"; @@ -539,8 +539,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { printOp(MI->getOperand(0)); O << ", lo16("; printOp(MI->getOperand(2)); - O << "-\"L0000" << labelNumber << "$pb\")"; - labelNumber++; + O << "-\"L0000" << LabelNumber << "$pb\")"; O << "("; if (MI->getOperand(1).getReg() == PPC32::R0) O << "0"; @@ -556,7 +555,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { printOp(MI->getOperand(1)); O << ", ha16(" ; printOp(MI->getOperand(2)); - O << "-\"L0000" << labelNumber << "$pb\")\n"; + O << "-\"L0000" << LabelNumber << "$pb\")\n"; } else if (ArgCount == 3 && ArgType[1] == PPC32II::Disimm16) { printOp(MI->getOperand(0)); O << ", "; |