aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-09-12 23:02:08 +0000
committerChris Lattner <sabre@nondot.org>2009-09-12 23:02:08 +0000
commit08c9708a8aed7028c5e3126d2d680ee1ffb4af9f (patch)
treee3202f7ce4416713cc41a6c9dd51da7e581a9029 /lib/CodeGen
parent69f872cbd1278b340ac8ebb23edd441cd2a0c4da (diff)
downloadexternal_llvm-08c9708a8aed7028c5e3126d2d680ee1ffb4af9f.zip
external_llvm-08c9708a8aed7028c5e3126d2d680ee1ffb4af9f.tar.gz
external_llvm-08c9708a8aed7028c5e3126d2d680ee1ffb4af9f.tar.bz2
devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.
Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that we only have one place that decides what to name bb labels. Hopefully various clients of printBasicBlockLabel can start using GetMBBSymbol instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81652 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 3e8c913..64947e8 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -28,6 +28,7 @@
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
+#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FormattedStream.h"
@@ -1634,6 +1635,15 @@ bool AsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
return true;
}
+MCSymbol *AsmPrinter::GetMBBSymbol(unsigned MBBID) const {
+ SmallString<60> Name;
+ raw_svector_ostream(Name) << MAI->getPrivateGlobalPrefix() << "BB"
+ << getFunctionNumber() << '_' << MBBID;
+
+ return OutContext.GetOrCreateSymbol(Name.str());
+}
+
+
/// printBasicBlockLabel - This method prints the label for the specified
/// MachineBasicBlock
void AsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB,
@@ -1646,8 +1656,8 @@ void AsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB,
EmitAlignment(Log2_32(Align));
}
- O << MAI->getPrivateGlobalPrefix() << "BB" << getFunctionNumber() << '_'
- << MBB->getNumber();
+ GetMBBSymbol(MBB->getNumber())->print(O, MAI);
+
if (printColon)
O << ':';
if (printComment) {