Changes in directory llvm/include/llvm/Transforms:
RSProfiling.h added (r1.1) LinkAllPasses.h updated: 1.26 -> 1.27 Instrumentation.h updated: 1.9 -> 1.10 --- Log message: Added documented rsprofiler interface. Also remove new profiler passes, the old ones have been updated to implement the interface. --- Diffs of the changes: (+30 -4) Instrumentation.h | 2 -- LinkAllPasses.h | 2 -- RSProfiling.h | 30 ++++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) Index: llvm/include/llvm/Transforms/RSProfiling.h diff -c /dev/null llvm/include/llvm/Transforms/RSProfiling.h:1.1 *** /dev/null Mon Nov 28 12:00:38 2005 --- llvm/include/llvm/Transforms/RSProfiling.h Mon Nov 28 12:00:28 2005 *************** *** 0 **** --- 1,30 ---- + //===- RSProfiling.cpp - Various profiling using random sampling ----------===// + // + // The LLVM Compiler Infrastructure + // + // This file was developed by the LLVM research group and is distributed under + // the University of Illinois Open Source License. See LICENSE.TXT for details. + // + //===----------------------------------------------------------------------===// + // + // This file defines the abstract interface that a profiler must implement to + // support the random profiling transform. + // + //===----------------------------------------------------------------------===// + + namespace llvm { + //===--------------------------------------------------------------------===// + /// RSProfilers - The basic Random Sampling Profiler Interface Any profiler + /// that implements this interface can be transformed by the random sampling + /// pass to be sample based rather than always on. + /// + /// The only exposed function can be queried to find out if an instruction + /// was original or if it was inserted by the profiler. Implementations of + /// this interface are expected to chain to other implementations, such that + /// multiple profilers can be support simultaniously. + struct RSProfilers : public ModulePass { + /// isProfiling - This method returns true if the value passed it was + /// inserted by the profiler. + virtual bool isProfiling(Value* v) = 0; + }; + }; Index: llvm/include/llvm/Transforms/LinkAllPasses.h diff -u llvm/include/llvm/Transforms/LinkAllPasses.h:1.26 llvm/include/llvm/Transforms/LinkAllPasses.h:1.27 --- llvm/include/llvm/Transforms/LinkAllPasses.h:1.26 Sun Nov 27 18:58:09 2005 +++ llvm/include/llvm/Transforms/LinkAllPasses.h Mon Nov 28 12:00:28 2005 @@ -106,8 +106,6 @@ (void) llvm::createTraceValuesPassForFunction(); (void) llvm::createUnifyFunctionExitNodesPass(); (void) llvm::createCondPropagationPass(); - (void) llvm::createBlockProfilerRSPass(); - (void) llvm::createFunctionProfilerRSPass(); (void) llvm::createNullProfilerRSPass(); (void) llvm::createRSProfilingPass(); Index: llvm/include/llvm/Transforms/Instrumentation.h diff -u llvm/include/llvm/Transforms/Instrumentation.h:1.9 llvm/include/llvm/Transforms/Instrumentation.h:1.10 --- llvm/include/llvm/Transforms/Instrumentation.h:1.9 Sun Nov 27 18:58:09 2005 +++ llvm/include/llvm/Transforms/Instrumentation.h Mon Nov 28 12:00:28 2005 @@ -44,8 +44,6 @@ FunctionPass *createProfilePathsPass(); // Random Sampling Profiling Framework -ModulePass* createBlockProfilerRSPass(); -ModulePass* createFunctionProfilerRSPass(); ModulePass* createNullProfilerRSPass(); FunctionPass* createRSProfilingPass(); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits