[llvm-commits] [llvm] r94631 - /llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
Chris Lattner
sabre at nondot.org
Tue Jan 26 16:20:02 PST 2010
Author: lattner
Date: Tue Jan 26 18:20:02 2010
New Revision: 94631
URL: http://llvm.org/viewvc/llvm-project?rev=94631&view=rev
Log:
use existing basic block numbers instead of recomputing
a new set of them.
Modified:
llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
Modified: llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp?rev=94631&r1=94630&r2=94631&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp Tue Jan 26 18:20:02 2010
@@ -44,17 +44,10 @@
namespace {
class SparcAsmPrinter : public AsmPrinter {
- /// We name each basic block in a Function with a unique number, so
- /// that we can consistently refer to them later. This is cleared
- /// at the beginning of each call to runOnMachineFunction().
- ///
- typedef std::map<const Value *, unsigned> ValueMapTy;
- ValueMapTy NumberForBB;
- unsigned BBNumber;
public:
explicit SparcAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
const MCAsmInfo *T, bool V)
- : AsmPrinter(O, TM, T, V), BBNumber(0) {}
+ : AsmPrinter(O, TM, T, V) {}
virtual const char *getPassName() const {
return "Sparc Assembly Printer";
@@ -88,25 +81,13 @@
EmitFunctionHeader();
- // BBNumber is used here so that a given Printer will never give two
- // BBs the same name. (If you have a better way, please let me know!)
-
- // Number each basic block so that we can consistently refer to them
- // in PC-relative references.
- // FIXME: Why not use the MBB numbers?
- NumberForBB.clear();
- for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
- I != E; ++I) {
- NumberForBB[I->getBasicBlock()] = BBNumber++;
- }
-
// Print out code for the function.
for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
I != E; ++I) {
// Print a label for the basic block.
- if (I != MF.begin()) {
+ if (I != MF.begin())
EmitBasicBlockStart(I);
- }
+
for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
II != E; ++II) {
// Print the assembly for the instruction.
@@ -209,7 +190,7 @@
break;
}
- unsigned bbNum = NumberForBB[MI->getParent()->getBasicBlock()];
+ unsigned bbNum = MI->getParent()->getNumber();
O << '\n' << ".LLGETPCH" << bbNum << ":\n";
O << "\tcall\t.LLGETPC" << bbNum << '\n' ;
More information about the llvm-commits
mailing list