Simplify markLive().

Reference::target() never returns a nullptr, so NULL check
is not needed and is more harmful than doing nothing.
No functionality change.

llvm-svn: 210008
diff --git a/lld/lib/Core/Resolver.cpp b/lld/lib/Core/Resolver.cpp
index 6ed3559..bf4b484 100644
--- a/lld/lib/Core/Resolver.cpp
+++ b/lld/lib/Core/Resolver.cpp
@@ -305,17 +305,16 @@
 }
 
 // For dead code stripping, recursively mark atoms "live"
-void Resolver::markLive(const Atom &atom) {
+void Resolver::markLive(const Atom *atom) {
   // Mark the atom is live. If it's already marked live, then stop recursion.
-  auto exists = _liveAtoms.insert(&atom);
+  auto exists = _liveAtoms.insert(atom);
   if (!exists.second)
     return;
 
   // Mark all atoms it references as live
-  if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(&atom))
+  if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(atom))
     for (const Reference *ref : *defAtom)
-      if (const Atom *target = ref->target())
-        markLive(*target);
+      markLive(ref->target());
 }
 
 // remove all atoms not actually used
@@ -342,7 +341,7 @@
 
   // mark all roots as live, and recursively all atoms they reference
   for (const Atom *dsrAtom : _deadStripRoots)
-    markLive(*dsrAtom);
+    markLive(dsrAtom);
 
   // now remove all non-live atoms from _atoms
   _atoms.erase(std::remove_if(_atoms.begin(), _atoms.end(), [&](const Atom *a) {