aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-06-28 18:42:33 +0000
committerLang Hames <lhames@gmail.com>2016-06-28 18:42:33 +0000
commitbb2213b00dc7010db95eb19ba01c99bd88c538df (patch)
tree45624c5b9147f216baa4f861ea87e46070ba8718
parent651b96ad0689ae0d1286df134a73da876db70755 (diff)
[lld][MachO] Remove SimpleFile::definedAtoms().
This method just duplicates the functionality of SimpleFile::defined(). git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@274048 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/lld/Core/Simple.h3
-rw-r--r--lib/ReaderWriter/MachO/LayoutPass.cpp14
-rw-r--r--lib/ReaderWriter/MachO/LayoutPass.h10
3 files changed, 12 insertions, 15 deletions
diff --git a/include/lld/Core/Simple.h b/include/lld/Core/Simple.h
index cfef02e04..f75b40327 100644
--- a/include/lld/Core/Simple.h
+++ b/include/lld/Core/Simple.h
@@ -104,9 +104,6 @@ public:
_absolute.clear();
}
- typedef AtomRange<DefinedAtom> DefinedAtomRange;
- DefinedAtomRange definedAtoms() { return _defined; }
-
private:
AtomVector<DefinedAtom> _defined;
AtomVector<UndefinedAtom> _undefined;
diff --git a/lib/ReaderWriter/MachO/LayoutPass.cpp b/lib/ReaderWriter/MachO/LayoutPass.cpp
index d68ba77ea..dd2ee8567 100644
--- a/lib/ReaderWriter/MachO/LayoutPass.cpp
+++ b/lib/ReaderWriter/MachO/LayoutPass.cpp
@@ -134,7 +134,7 @@ static void checkReachabilityFromRoot(AtomToAtomT &followOnRoots,
}
}
-static void printDefinedAtoms(const SimpleFile::DefinedAtomRange &atomRange) {
+static void printDefinedAtoms(const File::AtomRange<DefinedAtom> &atomRange) {
for (const DefinedAtom *atom : atomRange) {
llvm::dbgs() << " file=" << atom->file().path()
<< ", name=" << atom->name()
@@ -147,7 +147,7 @@ static void printDefinedAtoms(const SimpleFile::DefinedAtomRange &atomRange) {
/// Verify that the followon chain is sane. Should not be called in
/// release binary.
-void LayoutPass::checkFollowonChain(const SimpleFile::DefinedAtomRange &range) {
+void LayoutPass::checkFollowonChain(const File::AtomRange<DefinedAtom> &range) {
ScopedTask task(getDefaultDomain(), "LayoutPass::checkFollowonChain");
// Verify that there's no cycle in follow-on chain.
@@ -331,7 +331,7 @@ void LayoutPass::setChainRoot(const DefinedAtom *targetAtom,
/// d) If the targetAtom is part of a different chain and the root of the
/// targetAtom until the targetAtom has all atoms of size 0, then chain the
/// targetAtoms and its tree to the current chain
-void LayoutPass::buildFollowOnTable(const SimpleFile::DefinedAtomRange &range) {
+void LayoutPass::buildFollowOnTable(const File::AtomRange<DefinedAtom> &range) {
ScopedTask task(getDefaultDomain(), "LayoutPass::buildFollowOnTable");
// Set the initial size of the followon and the followonNext hash to the
// number of atoms that we have.
@@ -400,7 +400,7 @@ void LayoutPass::buildFollowOnTable(const SimpleFile::DefinedAtomRange &range) {
/// already assigned skip the atom and move to the next. This is the
/// main map thats used to sort the atoms while comparing two atoms together
void
-LayoutPass::buildOrdinalOverrideMap(const SimpleFile::DefinedAtomRange &range) {
+LayoutPass::buildOrdinalOverrideMap(const File::AtomRange<DefinedAtom> &range) {
ScopedTask task(getDefaultDomain(), "LayoutPass::buildOrdinalOverrideMap");
uint64_t index = 0;
for (const DefinedAtom *ai : range) {
@@ -420,7 +420,7 @@ LayoutPass::buildOrdinalOverrideMap(const SimpleFile::DefinedAtomRange &range) {
}
std::vector<LayoutPass::SortKey>
-LayoutPass::decorate(SimpleFile::DefinedAtomRange &atomRange) const {
+LayoutPass::decorate(File::AtomRange<DefinedAtom> &atomRange) const {
std::vector<SortKey> ret;
for (OwningAtomPtr<DefinedAtom> &atom : atomRange.owning_ptrs()) {
auto ri = _followOnRoots.find(atom.get());
@@ -432,7 +432,7 @@ LayoutPass::decorate(SimpleFile::DefinedAtomRange &atomRange) const {
return ret;
}
-void LayoutPass::undecorate(SimpleFile::DefinedAtomRange &atomRange,
+void LayoutPass::undecorate(File::AtomRange<DefinedAtom> &atomRange,
std::vector<SortKey> &keys) const {
size_t i = 0;
for (SortKey &k : keys)
@@ -444,7 +444,7 @@ llvm::Error LayoutPass::perform(SimpleFile &mergedFile) {
DEBUG(llvm::dbgs() << "******** Laying out atoms:\n");
// sort the atoms
ScopedTask task(getDefaultDomain(), "LayoutPass");
- SimpleFile::DefinedAtomRange atomRange = mergedFile.definedAtoms();
+ File::AtomRange<DefinedAtom> atomRange = mergedFile.defined();
// Build follow on tables
buildFollowOnTable(atomRange);
diff --git a/lib/ReaderWriter/MachO/LayoutPass.h b/lib/ReaderWriter/MachO/LayoutPass.h
index 8cf741eba..c18777ede 100644
--- a/lib/ReaderWriter/MachO/LayoutPass.h
+++ b/lib/ReaderWriter/MachO/LayoutPass.h
@@ -73,10 +73,10 @@ public:
private:
// Build the followOn atoms chain as specified by the kindLayoutAfter
// reference type
- void buildFollowOnTable(const SimpleFile::DefinedAtomRange &range);
+ void buildFollowOnTable(const File::AtomRange<DefinedAtom> &range);
// Build a map of Atoms to ordinals for sorting the atoms
- void buildOrdinalOverrideMap(const SimpleFile::DefinedAtomRange &range);
+ void buildOrdinalOverrideMap(const File::AtomRange<DefinedAtom> &range);
const Registry &_registry;
SortOverride _customSorter;
@@ -104,13 +104,13 @@ private:
void setChainRoot(const DefinedAtom *targetAtom, const DefinedAtom *root);
- std::vector<SortKey> decorate(SimpleFile::DefinedAtomRange &atomRange) const;
+ std::vector<SortKey> decorate(File::AtomRange<DefinedAtom> &atomRange) const;
- void undecorate(SimpleFile::DefinedAtomRange &atomRange,
+ void undecorate(File::AtomRange<DefinedAtom> &atomRange,
std::vector<SortKey> &keys) const;
// Check if the follow-on graph is a correct structure. For debugging only.
- void checkFollowonChain(const SimpleFile::DefinedAtomRange &range);
+ void checkFollowonChain(const File::AtomRange<DefinedAtom> &range);
};
} // namespace mach_o