Instrument things.

llvm-svn: 182789
diff --git a/lld/lib/Core/Resolver.cpp b/lld/lib/Core/Resolver.cpp
index ccbecd7..e95aa9c 100644
--- a/lld/lib/Core/Resolver.cpp
+++ b/lld/lib/Core/Resolver.cpp
@@ -10,6 +10,7 @@
 #include "lld/Core/Atom.h"
 #include "lld/Core/File.h"
 #include "lld/Core/InputFiles.h"
+#include "lld/Core/Instrumentation.h"
 #include "lld/Core/LLVM.h"
 #include "lld/Core/Resolver.h"
 #include "lld/Core/SymbolTable.h"
@@ -71,6 +72,7 @@
 
 // add all atoms from all initial .o files
 void Resolver::buildInitialAtomList() {
+  ScopedTask task(getDefaultDomain(), "buildInitialAtomList");
  DEBUG_WITH_TYPE("resolver", llvm::dbgs() << "Resolver initial atom list:\n");
 
   // each input files contributes initial atoms
@@ -184,6 +186,7 @@
 // ask symbol table if any definitionUndefined atoms still exist
 // if so, keep searching libraries until no more atoms being added
 void Resolver::resolveUndefines() {
+  ScopedTask task(getDefaultDomain(), "resolveUndefines");
   const bool searchArchives =
       _targetInfo.searchArchivesToOverrideTentativeDefinitions();
   const bool searchSharedLibs =
@@ -234,6 +237,7 @@
 // switch all references to undefined or coalesced away atoms
 // to the new defined atom
 void Resolver::updateReferences() {
+  ScopedTask task(getDefaultDomain(), "updateReferences");
   for(const Atom *atom : _atoms) {
     if (const DefinedAtom* defAtom = dyn_cast<DefinedAtom>(atom)) {
       for (const Reference *ref : *defAtom) {
@@ -267,6 +271,7 @@
 
 // remove all atoms not actually used
 void Resolver::deadStripOptimize() {
+  ScopedTask task(getDefaultDomain(), "deadStripOptimize");
   // only do this optimization with -dead_strip
   if (!_targetInfo.deadStrip())
     return;
@@ -354,6 +359,7 @@
 
 // remove from _atoms all coaleseced away atoms
 void Resolver::removeCoalescedAwayAtoms() {
+  ScopedTask task(getDefaultDomain(), "removeCoalescedAwayAtoms");
   _atoms.erase(std::remove_if(_atoms.begin(), _atoms.end(),
                               AtomCoalescedAway(_symbolTable)), _atoms.end());
 }
@@ -361,6 +367,7 @@
 // check for interactions between symbols defined in this linkage unit
 // and same symbol name in linked dynamic shared libraries
 void Resolver::checkDylibSymbolCollisions() {
+  ScopedTask task(getDefaultDomain(), "checkDylibSymbolCollisions");
   for ( const Atom *atom : _atoms ) {
     const DefinedAtom* defAtom = dyn_cast<DefinedAtom>(atom);
     if (defAtom == nullptr)
@@ -420,6 +427,7 @@
 
 
 void Resolver::MergedFile::addAtoms(std::vector<const Atom*>& all) {
+  ScopedTask task(getDefaultDomain(), "addAtoms");
   DEBUG_WITH_TYPE("resolver", llvm::dbgs() << "Resolver final atom list:\n");
   for ( const Atom *atom : all ) {
     DEBUG_WITH_TYPE("resolver", llvm::dbgs()