Instrument things.
llvm-svn: 182789
diff --git a/lld/lib/Driver/Driver.cpp b/lld/lib/Driver/Driver.cpp
index 983c9dc..a0233fe 100644
--- a/lld/lib/Driver/Driver.cpp
+++ b/lld/lib/Driver/Driver.cpp
@@ -11,6 +11,7 @@
#include "lld/Core/LLVM.h"
#include "lld/Core/InputFiles.h"
+#include "lld/Core/Instrumentation.h"
#include "lld/Core/PassManager.h"
#include "lld/Core/Parallel.h"
#include "lld/Core/Resolver.h"
@@ -41,6 +42,7 @@
}
// Read inputs
+ ScopedTask readTask(getDefaultDomain(), "Read Args");
std::vector<std::vector<std::unique_ptr<File>>> files(
targetInfo.inputFiles().size());
size_t index = 0;
@@ -61,6 +63,7 @@
++index;
}
tg.sync();
+ readTask.end();
if (fail)
return true;
@@ -76,19 +79,24 @@
inputs.assignFileOrdinals();
// Do core linking.
+ ScopedTask resolveTask(getDefaultDomain(), "Resolve");
Resolver resolver(targetInfo, inputs);
if (resolver.resolve()) {
if (!targetInfo.allowRemainingUndefines())
return true;
}
MutableFile &merged = resolver.resultFile();
+ resolveTask.end();
// Run passes on linked atoms.
+ ScopedTask passTask(getDefaultDomain(), "Passes");
PassManager pm;
targetInfo.addPasses(pm);
pm.runOnFile(merged);
+ passTask.end();
// Give linked atoms to Writer to generate output file.
+ ScopedTask writeTask(getDefaultDomain(), "Write");
if (error_code ec = targetInfo.writeFile(merged)) {
diagnostics << "Failed to write file '" << targetInfo.outputPath()
<< "': " << ec.message() << "\n";