diff options
author | Andrew Trick <atrick@apple.com> | 2011-01-29 01:09:53 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2011-01-29 01:09:53 +0000 |
commit | 04317cc618aeae28910916469e074d8ce0fcaa03 (patch) | |
tree | 5ea1ef8b97500d011b703e296c66a2056782b0a3 /include/llvm/Analysis/Passes.h | |
parent | db9cd76635220ebc6451069667e9aaaacb4fc455 (diff) | |
download | external_llvm-04317cc618aeae28910916469e074d8ce0fcaa03.zip external_llvm-04317cc618aeae28910916469e074d8ce0fcaa03.tar.gz external_llvm-04317cc618aeae28910916469e074d8ce0fcaa03.tar.bz2 |
Implementation of path profiling.
Modified patch by Adam Preuss.
This builds on the existing framework for block tracing, edge profiling and optimal edge profiling.
See -help-hidden for new flags.
For documentation, see the technical report "Implementation of Path Profiling..." in llvm.org/pubs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124515 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/Passes.h')
-rw-r--r-- | include/llvm/Analysis/Passes.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h index 64bd290..5b0c5b1 100644 --- a/include/llvm/Analysis/Passes.h +++ b/include/llvm/Analysis/Passes.h @@ -116,6 +116,28 @@ namespace llvm { //===--------------------------------------------------------------------===// // + // createPathProfileLoaderPass - This pass loads information from a path + // profile dump file. + // + ModulePass *createPathProfileLoaderPass(); + extern char &PathProfileLoaderPassID; + + //===--------------------------------------------------------------------===// + // + // createNoPathProfileInfoPass - This pass implements the default + // "no path profile". + // + ImmutablePass *createNoPathProfileInfoPass(); + + //===--------------------------------------------------------------------===// + // + // createPathProfileVerifierPass - This pass verifies path profiling + // information. + // + ModulePass *createPathProfileVerifierPass(); + + //===--------------------------------------------------------------------===// + // // createDSAAPass - This pass implements simple context sensitive alias // analysis. // @@ -140,7 +162,7 @@ namespace llvm { // createLiveValuesPass - This creates an instance of the LiveValues pass. // FunctionPass *createLiveValuesPass(); - + //===--------------------------------------------------------------------===// // /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo @@ -153,7 +175,7 @@ namespace llvm { // LoopDependenceAnalysis pass. // LoopPass *createLoopDependenceAnalysisPass(); - + // Minor pass prototypes, allowing us to expose them through bugpoint and // analyze. FunctionPass *createInstCountPass(); |