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

Reply via email to