summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Neustifter <astifter-llvm@gmx.at>2009-09-01 10:08:39 +0000
committerAndreas Neustifter <astifter-llvm@gmx.at>2009-09-01 10:08:39 +0000
commiteb5a9d34d66801377ce06f917624ec1d47a90816 (patch)
tree8bc3181a788d21088bad219035bf748daec91d16
parent8bcd5dcf5de7c2002d116aaef5a58531a0034071 (diff)
downloadbcm5719-llvm-eb5a9d34d66801377ce06f917624ec1d47a90816.tar.gz
bcm5719-llvm-eb5a9d34d66801377ce06f917624ec1d47a90816.zip
Preparation for Optimal Edge Profiling:
Add statistics for regular edge profiling, this enables the comparation of the number of edges inserted by regular and optimal edge profiling. llvm-svn: 80668
-rw-r--r--llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp b/llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp
index ed9ff508775..b9cb275578e 100644
--- a/llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp
+++ b/llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp
@@ -16,7 +16,7 @@
// number of counters inserted.
//
//===----------------------------------------------------------------------===//
-
+#define DEBUG_TYPE "insert-edge-profiling"
#include "ProfilingUtils.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"
@@ -24,15 +24,22 @@
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Instrumentation.h"
+#include "llvm/ADT/Statistic.h"
#include <set>
using namespace llvm;
+STATISTIC(NumEdgesInserted, "The # of edges inserted.");
+
namespace {
class VISIBILITY_HIDDEN EdgeProfiler : public ModulePass {
bool runOnModule(Module &M);
public:
static char ID; // Pass identification, replacement for typeid
EdgeProfiler() : ModulePass(&ID) {}
+
+ virtual const char *getPassName() const {
+ return "Edge Profiler";
+ }
};
}
@@ -69,6 +76,7 @@ bool EdgeProfiler::runOnModule(Module &M) {
GlobalVariable *Counters =
new GlobalVariable(M, ATy, false, GlobalValue::InternalLinkage,
Constant::getNullValue(ATy), "EdgeProfCounters");
+ NumEdgesInserted = NumEdges;
// Instrument all of the edges...
unsigned i = 0;
OpenPOWER on IntegriCloud