diff options
| author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-05-24 16:58:59 +0000 |
|---|---|---|
| committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-05-24 16:58:59 +0000 |
| commit | 882a2b5a7d8a91d1dafb66a25b6ac16377f1bf12 (patch) | |
| tree | 3bf221d23d6e3991834416a1b6fc495b779f69ef /llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h | |
| parent | 9d50e82fb2324621dcdd43f68e08ae2d775378c3 (diff) | |
| download | bcm5719-llvm-882a2b5a7d8a91d1dafb66a25b6ac16377f1bf12.tar.gz bcm5719-llvm-882a2b5a7d8a91d1dafb66a25b6ac16377f1bf12.zip | |
AsmPrinter: Avoid creating symbols in DwarfStringPool
Stop creating symbols we don't need in `DwarfStringPool`. The consumers
only call `DwarfStringPoolEntryRef::getSymbol()` when DWARF is
relocatable, so this just stops creating the unused symbols when it's
not. This drops memory usage from 851 MB to 845 MB, around 0.7%.
(I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`;
see r236629 for details.)
llvm-svn: 238122
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h b/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h index b042350fb59..93a168485a5 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h @@ -30,12 +30,12 @@ class DwarfStringPool { StringMap<EntryTy, BumpPtrAllocator &> Pool; StringRef Prefix; unsigned NumBytes = 0; + bool ShouldCreateSymbols; public: typedef DwarfStringPoolEntryRef EntryRef; - DwarfStringPool(BumpPtrAllocator &A, AsmPrinter &Asm, StringRef Prefix) - : Pool(A), Prefix(Prefix) {} + DwarfStringPool(BumpPtrAllocator &A, AsmPrinter &Asm, StringRef Prefix); void emit(AsmPrinter &Asm, MCSection *StrSection, MCSection *OffsetSection = nullptr); |

