[PATCH] [Core] Update references in parallel

Shankar Kalpathi Easwaran shankarke at gmail.com
Thu Mar 19 19:27:44 PDT 2015

Comment at: lib/Core/Resolver.cpp:351-357
@@ -349,9 +350,9 @@
         // if the target atom is coalesced away, so that they will
         // go away as a group.
         if (ref->kindNamespace() == lld::Reference::KindNamespace::all &&
             ref->kindValue() == lld::Reference::kindAssociate) {
           if (_symbolTable.isCoalescedAway(atom))
-            _deadAtoms.insert(ref->target());
+            _deadAtomsAccumulator.insert(ref->target());
         const Atom *newTarget = _symbolTable.replacement(ref->target());
Aside from the current review, I think adding to the deadAtoms set has to happen when the atoms are being coalesced. Why is this being done here so late and not when the atoms are being really coalesced ?

Also if the atom gets coalesced, all atoms that are being referred from this atom will automatically get deadstripped right ? Why do you want to add to the deadAtoms vector ?



More information about the llvm-commits mailing list