mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-25 00:29:20 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80668 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e885af9fb7
commit
62353a8d13
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user