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...
//