From bb227c1b798f6d91dd946a0a9db79d1941911fab Mon Sep 17 00:00:00 2001 From: Andrew Lenharth Date: Mon, 28 Nov 2005 18:00:38 +0000 Subject: Added documented rsprofiler interface. Also remove new profiler passes, the old ones have been updated to implement the interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24499 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Instrumentation/RSProfiling.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'lib/Transforms/Instrumentation/RSProfiling.h') diff --git a/lib/Transforms/Instrumentation/RSProfiling.h b/lib/Transforms/Instrumentation/RSProfiling.h index 3ab125493b..304ce08f7b 100644 --- a/lib/Transforms/Instrumentation/RSProfiling.h +++ b/lib/Transforms/Instrumentation/RSProfiling.h @@ -1,4 +1,4 @@ -//===- RSProfiling.cpp - Various profiling using random sampling ----------===// +//===- RSProfiling.h - Various profiling using random sampling ----------===// // // The LLVM Compiler Infrastructure // @@ -10,18 +10,19 @@ // See notes in RSProfiling.cpp // //===----------------------------------------------------------------------===// +#include "llvm/Transforms/RSProfiling.h" namespace llvm { - // By default, we provide some convienence stuff to clients, so they - // can just store the instructions they create to do profiling. - // also, handle all chaining issues. - // a client is free to overwrite these, as long as it implements the - // chaining itself. - struct RSProfilers : public ModulePass { + /// RSProfilers_std - a simple support class for profilers that handles most + /// of the work of chaining and tracking inserted code. + struct RSProfilers_std : public RSProfilers { std::set profcode; + // Lookup up values in profcode virtual bool isProfiling(Value* v); - virtual ~RSProfilers() {} + // handles required chaining virtual void getAnalysisUsage(AnalysisUsage &AU) const; + // places counter updates in basic blocks and recordes added instructions in + // profcode void IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum, GlobalValue *CounterArray); }; -- cgit v1.2.3