summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/lib/Core/Resolver.cpp15
-rw-r--r--lld/lib/Passes/GOTPass.cpp6
-rw-r--r--lld/lib/Passes/LayoutPass.cpp19
3 files changed, 16 insertions, 24 deletions
diff --git a/lld/lib/Core/Resolver.cpp b/lld/lib/Core/Resolver.cpp
index f0675681527..1a8660981cd 100644
--- a/lld/lib/Core/Resolver.cpp
+++ b/lld/lib/Core/Resolver.cpp
@@ -41,10 +41,9 @@ public:
if (_liveAtoms.count(atom))
return false;
// don't remove if marked never-dead-strip
- if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(atom)) {
+ if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(atom))
if (defAtom->deadStrip() == DefinedAtom::deadStripNever)
return false;
- }
// do remove this atom
return true;
}
@@ -249,16 +248,14 @@ void Resolver::doAbsoluteAtom(const AbsoluteAtom &atom) {
_atoms.push_back(&atom);
// tell symbol table
- if (atom.scope() != Atom::scopeTranslationUnit) {
+ if (atom.scope() != Atom::scopeTranslationUnit)
_symbolTable.add(atom);
- }
}
// utility to add a vector of atoms
void Resolver::addAtoms(const std::vector<const DefinedAtom *> &newAtoms) {
- for (const DefinedAtom *newAtom : newAtoms) {
+ for (const DefinedAtom *newAtom : newAtoms)
this->doDefinedAtom(*newAtom);
- }
}
// Keep adding atoms until _context.nextFile() returns an error. This function
@@ -363,9 +360,8 @@ void Resolver::deadStripOptimize() {
}
// mark all roots as live, and recursively all atoms they reference
- for (const Atom *dsrAtom : _deadStripRoots) {
+ for (const Atom *dsrAtom : _deadStripRoots)
this->markLive(*dsrAtom);
- }
// now remove all non-live atoms from _atoms
_atoms.erase(
@@ -443,10 +439,9 @@ bool Resolver::resolve() {
return false;
this->updateReferences();
this->deadStripOptimize();
- if (this->checkUndefines(false)) {
+ if (this->checkUndefines(false))
if (!_context.allowRemainingUndefines())
return false;
- }
this->removeCoalescedAwayAtoms();
this->linkTimeOptimize();
this->_result->addAtoms(_atoms);
diff --git a/lld/lib/Passes/GOTPass.cpp b/lld/lib/Passes/GOTPass.cpp
index f29c35b0b64..9827952a295 100644
--- a/lld/lib/Passes/GOTPass.cpp
+++ b/lld/lib/Passes/GOTPass.cpp
@@ -100,8 +100,8 @@ void GOTPass::perform(std::unique_ptr<MutableFile> &mergedFile) {
}
// add all created GOT Atoms to master file
- for (auto &it : targetToGOT) {
+ for (auto &it : targetToGOT)
mergedFile->addAtom(*it.second);
- }
-}
}
+
+} // end namesapce lld
diff --git a/lld/lib/Passes/LayoutPass.cpp b/lld/lib/Passes/LayoutPass.cpp
index 61b53932ad8..272042bdfe6 100644
--- a/lld/lib/Passes/LayoutPass.cpp
+++ b/lld/lib/Passes/LayoutPass.cpp
@@ -416,19 +416,17 @@ void LayoutPass::buildInGroupTable(MutableFile::DefinedAtomRange &range) {
// Check if the current atom is part of the chain
bool isAtomInChain = false;
const DefinedAtom *lastAtom = rootAtom;
- while (true) {
+ for (;;) {
AtomToAtomT::iterator followOnAtomsIter =
- _followOnNexts.find(lastAtom);
+ _followOnNexts.find(lastAtom);
if (followOnAtomsIter != _followOnNexts.end()) {
lastAtom = followOnAtomsIter->second;
- if (lastAtom == ai) {
- isAtomInChain = true;
- break;
- }
+ if (lastAtom != ai)
+ continue;
+ isAtomInChain = true;
}
- else
- break;
- } // findAtomInChain
+ break;
+ }
if (!isAtomInChain)
_followOnNexts[lastAtom] = ai;
@@ -517,9 +515,8 @@ void LayoutPass::buildOrdinalOverrideMap(MutableFile::DefinedAtomRange &range) {
for (const DefinedAtom *nextAtom = start->second; nextAtom != NULL;
nextAtom = _followOnNexts[nextAtom]) {
AtomToOrdinalT::iterator pos = _ordinalOverrideMap.find(nextAtom);
- if (pos == _ordinalOverrideMap.end()) {
+ if (pos == _ordinalOverrideMap.end())
_ordinalOverrideMap[nextAtom] = index++;
- }
}
}
}
OpenPOWER on IntegriCloud