diff options
author | Chris Lattner <sabre@nondot.org> | 2010-11-15 03:42:54 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-11-15 03:42:54 +0000 |
commit | 374c608fcac7fd550ce0cb1826355849a5e015be (patch) | |
tree | 272b67f5b10cf2bf8d4a0c5a5b01cb1ea7b3e5e8 /lib/Target/PowerPC/PPCAsmPrinter.cpp | |
parent | cb22fa6536bd17e54a89dc82cafc9fdf48321c36 (diff) | |
download | external_llvm-374c608fcac7fd550ce0cb1826355849a5e015be.zip external_llvm-374c608fcac7fd550ce0cb1826355849a5e015be.tar.gz external_llvm-374c608fcac7fd550ce0cb1826355849a5e015be.tar.bz2 |
strength reduce TOC temp label generation, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119112 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCAsmPrinter.cpp')
-rw-r--r-- | lib/Target/PowerPC/PPCAsmPrinter.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index c0b18a1..a1dd378 100644 --- a/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -60,11 +60,11 @@ namespace { protected: DenseMap<MCSymbol*, MCSymbol*> TOC; const PPCSubtarget &Subtarget; - uint64_t LabelID; + uint64_t TOCLabelID; public: explicit PPCAsmPrinter(TargetMachine &TM, MCStreamer &Streamer) : AsmPrinter(TM, Streamer), - Subtarget(TM.getSubtarget<PPCSubtarget>()), LabelID(0) {} + Subtarget(TM.getSubtarget<PPCSubtarget>()), TOCLabelID(0) {} virtual const char *getPassName() const { return "PowerPC Assembly Printer"; @@ -332,11 +332,8 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) { // Map symbol -> label of TOC entry. MCSymbol *&TOCEntry = TOC[Mang->getSymbol(MO.getGlobal())]; - if (TOCEntry == 0) { - TOCEntry = OutContext. - GetOrCreateSymbol(StringRef(MAI->getPrivateGlobalPrefix()) + - "C" + Twine(LabelID++)); - } + if (TOCEntry == 0) + TOCEntry = GetTempSymbol("C", TOCLabelID++); const MCExpr *Exp = MCSymbolRefExpr::Create(TOCEntry, MCSymbolRefExpr::VK_PPC_TOC, |