mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
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
This commit is contained in:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user