MC: Reduce MCAssembler::Symbols API exposure, NFC

Stop exposing the storage for `MCAssembler::Symbols`, and have
`MCAssembler` add symbols directly to its list instead of using a hook
in `MCSymbolData`.  This opens up room for a follow-up commit to switch
from a linked list to a vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237486 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith 2015-05-15 22:33:34 +00:00
parent fc9bfcd184
commit eaf14f30c8
2 changed files with 7 additions and 13 deletions

View File

@ -693,8 +693,7 @@ class MCSymbolData : public ilist_node<MCSymbolData> {
public:
// Only for use as sentinel.
MCSymbolData();
MCSymbolData(const MCSymbol &Symbol, MCFragment *Fragment, uint64_t Offset,
MCAssembler *A = nullptr);
MCSymbolData(const MCSymbol &Symbol, MCFragment *Fragment, uint64_t Offset);
/// \name Accessors
/// @{
@ -1058,10 +1057,6 @@ public:
/// @}
/// \name Symbol List Access
/// @{
const SymbolDataListType &getSymbolList() const { return Symbols; }
SymbolDataListType &getSymbolList() { return Symbols; }
symbol_iterator symbol_begin() { return Symbols.begin(); }
const_symbol_iterator symbol_begin() const { return Symbols.begin(); }
@ -1185,8 +1180,10 @@ public:
if (Created)
*Created = !Entry;
if (!Entry)
Entry = new MCSymbolData(Symbol, nullptr, 0, this);
if (!Entry) {
Entry = new MCSymbolData(Symbol, nullptr, 0);
Symbols.push_back(Entry);
}
return *Entry;
}

View File

@ -361,12 +361,9 @@ void MCSectionData::setBundleLockState(BundleLockStateType NewState) {
MCSymbolData::MCSymbolData() : Symbol(nullptr) {}
MCSymbolData::MCSymbolData(const MCSymbol &Symbol, MCFragment *Fragment,
uint64_t Offset, MCAssembler *A)
uint64_t Offset)
: Symbol(&Symbol), Fragment(Fragment), Offset(Offset), SymbolSize(nullptr),
CommonAlign(-1U), Flags(0), Index(0) {
if (A)
A->getSymbolList().push_back(this);
}
CommonAlign(-1U), Flags(0), Index(0) {}
/* *** */