summaryrefslogtreecommitdiffstats
path: root/lld/lib/Core
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/Core')
-rw-r--r--lld/lib/Core/Resolver.cpp15
1 files changed, 5 insertions, 10 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);
OpenPOWER on IntegriCloud