MC: Simplify MCSymbolData initialization and remove MCSymbol pointer
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 21 May 2015 01:33:03 +0000 (01:33 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 21 May 2015 01:33:03 +0000 (01:33 +0000)
commit4652459f64ed33e0bc21e9044b0a351c39c067c7
treea0c75f1854849f3333389a2c26621c91a683bd5c
parent0141c66026fec44ced525cc032d3e67af5294484
MC: Simplify MCSymbolData initialization and remove MCSymbol pointer

Finally remove the `MCSymbolData::Symbol` pointer.  It was still being
used to track whether `MCSymbolData` had been initialized, but this is
better tracked by the bitfield in `MCSymbol`.

The only caller of `MCSymbolData::initialize()` was `MCAssembler`, which
(other than `Symbol`) passed in all-0 values.  Replace all that
indirection with a default constructor.

The main point is a cleanup (and there's more cleanup to do), but there
are also some small memory savings.  I measured ~989 MB down to ~975 MB,
cutting a little over 1% off the top of `llc`.

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