Index: lib/Core/Resolver.cpp =================================================================== --- lib/Core/Resolver.cpp +++ lib/Core/Resolver.cpp @@ -341,7 +341,8 @@ // to the new defined atom void Resolver::updateReferences() { ScopedTask task(getDefaultDomain(), "updateReferences"); - for (const Atom *atom : _atoms) { + parallel_for_each(_atoms.begin(), _atoms.end(), + [&](const Atom *atom) { if (const DefinedAtom *defAtom = dyn_cast(atom)) { for (const Reference *ref : *defAtom) { // A reference of type kindAssociate should't be updated. @@ -358,7 +359,7 @@ const_cast(ref)->setTarget(newTarget); } } - } + }); } // For dead code stripping, recursively mark atoms "live"