MC: Change MCAssembler::Symbols to a vector
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 15 May 2015 22:56:01 +0000 (22:56 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 15 May 2015 22:56:01 +0000 (22:56 +0000)
commit6c1612480725d35ed7a6a8de1634b37caf91de35
tree7d810c353a2524779e05cc637f37a86ea8fdb03e
parenteaf14f30c8a50e341cf0c4b038dc3b2edd162b27
MC: Change MCAssembler::Symbols to a vector

Instead of an intrusive double-linked linked list, use a
`std::vector<>`.  This saves a pointer per symbol and simplifies
`MCSymbolData`.  Otherwise, no functionality change here.

While I measured a memory drop from around 1047MB to 1040MB (0.6%) --
and this is a decent cleanup in its own right -- it's primarily a
preparation patch for merging `MCSymbol` and `MCSymbolData`.  I'll post
an updated patch for that to the list in a moment.

(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@237487 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCAssembler.h