Add support to count the number of dynamic instructions executed by LLI


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4955 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index d11ed6e..3d6cf0b 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -15,6 +15,7 @@
 #include "llvm/Assembly/Writer.h"
 #include "llvm/Target/TargetData.h"
 #include "Support/CommandLine.h"
+#include "Support/Statistic.h"
 #include <math.h>  // For fmod
 #include <signal.h>
 #include <setjmp.h>
@@ -22,6 +23,10 @@
 using std::cout;
 using std::cerr;
 
+namespace {
+  Statistic<> NumDynamicInsts("lli", "Number of dynamic instructions executed");
+}
+
 static cl::opt<bool>
 QuietMode("quiet", cl::desc("Do not emit any non-program output"));
 
@@ -1251,6 +1256,9 @@
   if (Trace)
     CW << "Run:" << I;
 
+  // Track the number of dynamic instructions executed.
+  ++NumDynamicInsts;
+
   // Set a sigsetjmp buffer so that we can recover if an error happens during
   // instruction execution...
   //