aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ExecutionEngine/Interpreter/Execution.cpp8
1 files changed, 8 insertions, 0 deletions
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::vector;
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 @@ bool Interpreter::executeInstruction() {
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...
//