summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-05-24 16:58:59 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-05-24 16:58:59 +0000
commit882a2b5a7d8a91d1dafb66a25b6ac16377f1bf12 (patch)
tree3bf221d23d6e3991834416a1b6fc495b779f69ef /llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h
parent9d50e82fb2324621dcdd43f68e08ae2d775378c3 (diff)
downloadbcm5719-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.h4
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);
OpenPOWER on IntegriCloud