MC: Skip names of temporary symbols in object streamer
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 6 May 2015 21:34:34 +0000 (21:34 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 6 May 2015 21:34:34 +0000 (21:34 +0000)
commita414ba7844de23e51689fc741eb58190a6342627
treecaa8b5646b1785b063df1e8530a7a6717ec7f210
parent84b8c10729836ab3247bfa256101ba846eaefd92
MC: Skip names of temporary symbols in object streamer

Don't create names for temporary symbols when using an object streamer.
The names never make it to the output anyway.  From the starting point
of r236629, my heap profile says this drops peak memory usage from 1100
MB to 1058 MB for CodeGen of `verify-uselistorder`, a savings of almost
4% on peak memory, and removes `StringMap<bool, BumpPtrAllocator...>`
from the profile entirely.

(I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`;
see r236629 for details.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236642 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCContext.h
lib/CodeGen/LLVMTargetMachine.cpp
lib/MC/MCContext.cpp