diff options
author | Jeff Cohen <jeffc@jolt-lang.org> | 2005-01-09 20:42:52 +0000 |
---|---|---|
committer | Jeff Cohen <jeffc@jolt-lang.org> | 2005-01-09 20:42:52 +0000 |
commit | 1d7b5de7eef6039dbc00bf50b582a5d7426e03fc (patch) | |
tree | 882511edbe11ecedd7fa8238606a45174f45b91e | |
parent | fd161e964aa02636c00364ae4d46bf4e384df096 (diff) |
Add last four createXxxPass functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19424 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/Passes.h | 28 | ||||
-rw-r--r-- | include/llvm/Transforms/LinkAllPasses.h | 4 | ||||
-rw-r--r-- | lib/Analysis/DataStructure/DataStructureAA.cpp | 3 | ||||
-rw-r--r-- | lib/Analysis/DataStructure/DataStructureOpt.cpp | 3 | ||||
-rw-r--r-- | lib/Analysis/DataStructure/Parallelize.cpp | 3 | ||||
-rw-r--r-- | lib/Analysis/DataStructure/Steensgaard.cpp | 3 |
6 files changed, 44 insertions, 0 deletions
diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h index 0c991c5aeb..47e1e72558 100644 --- a/include/llvm/Analysis/Passes.h +++ b/include/llvm/Analysis/Passes.h @@ -80,6 +80,34 @@ namespace llvm { // createNoProfileInfoPass - This pass implements the default "no profile". // ImmutablePass *createNoProfileInfoPass(); + + //===--------------------------------------------------------------------===// + // + // createDSAAPass - This pass implements simple context sensitive alias + // analysis. + // + ModulePass *createDSAAPass(); + + //===--------------------------------------------------------------------===// + // + // createDSOptPass - This pass uses DSA to do a series of simple + // optimizations. + // + ModulePass *createDSOptPass(); + + //===--------------------------------------------------------------------===// + // + // createParallelizePass - This pass parallelizes a program using the cilk + // multi-threaded runtime system. + // + ModulePass *createParallelizePass(); + + //===--------------------------------------------------------------------===// + // + // createSteensgaardPass - This pass uses the data structure graphs to do a + // simple context insensitive alias analysis. + // + ModulePass *createSteensgaardPass(); } #endif diff --git a/include/llvm/Transforms/LinkAllPasses.h b/include/llvm/Transforms/LinkAllPasses.h index 163de11b4b..b5d67f73ba 100644 --- a/include/llvm/Transforms/LinkAllPasses.h +++ b/include/llvm/Transforms/LinkAllPasses.h @@ -56,6 +56,8 @@ namespace { (void) llvm::createConstantMergePass(); (void) llvm::createConstantPropagationPass(); (void) llvm::createCorrelatedExpressionEliminationPass(); + (void) llvm::createDSAAPass(); + (void) llvm::createDSOptPass(); (void) llvm::createDeadArgEliminationPass(); (void) llvm::createDeadCodeEliminationPass(); (void) llvm::createDeadInstEliminationPass(); @@ -95,6 +97,7 @@ namespace { (void) llvm::createNoAAPass(); (void) llvm::createNoProfileInfoPass(); (void) llvm::createPREPass(); + (void) llvm::createParallelizePass(); (void) llvm::createProfilePathsPass(); (void) llvm::createPromoteMemoryToRegister(); (void) llvm::createPruneEHPass(); @@ -104,6 +107,7 @@ namespace { (void) llvm::createSCCPPass(); (void) llvm::createScalarReplAggregatesPass(); (void) llvm::createSingleLoopExtractorPass(); + (void) llvm::createSteensgaardPass(); (void) llvm::createStripSymbolsPass(); (void) llvm::createTailCallEliminationPass(); (void) llvm::createTailDuplicationPass(); diff --git a/lib/Analysis/DataStructure/DataStructureAA.cpp b/lib/Analysis/DataStructure/DataStructureAA.cpp index 9b39c8fcfb..915909e3a1 100644 --- a/lib/Analysis/DataStructure/DataStructureAA.cpp +++ b/lib/Analysis/DataStructure/DataStructureAA.cpp @@ -14,6 +14,7 @@ #include "llvm/Module.h" #include "llvm/Analysis/AliasAnalysis.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Analysis/DataStructure/DataStructure.h" #include "llvm/Analysis/DataStructure/DSGraph.h" using namespace llvm; @@ -71,6 +72,8 @@ namespace { RegisterAnalysisGroup<AliasAnalysis, DSAA> Y; } +ModulePass *llvm::createDSAAPass() { return new DSAA(); } + // getGraphForValue - Return the DSGraph to use for queries about the specified // value... // diff --git a/lib/Analysis/DataStructure/DataStructureOpt.cpp b/lib/Analysis/DataStructure/DataStructureOpt.cpp index 1996aea67d..1d8373a01d 100644 --- a/lib/Analysis/DataStructure/DataStructureOpt.cpp +++ b/lib/Analysis/DataStructure/DataStructureOpt.cpp @@ -14,6 +14,7 @@ #include "llvm/Analysis/DataStructure/DataStructure.h" #include "llvm/Analysis/DataStructure/DSGraph.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Module.h" #include "llvm/Constant.h" #include "llvm/ADT/Statistic.h" @@ -48,6 +49,8 @@ namespace { RegisterOpt<DSOpt> X("ds-opt", "DSA-based simple optimizations"); } +ModulePass *llvm::createDSOptPass() { return new DSOpt(); } + /// OptimizeGlobals - This method uses information taken from DSA to optimize /// global variables. /// diff --git a/lib/Analysis/DataStructure/Parallelize.cpp b/lib/Analysis/DataStructure/Parallelize.cpp index 2bb6c7ff46..a12e323a9b 100644 --- a/lib/Analysis/DataStructure/Parallelize.cpp +++ b/lib/Analysis/DataStructure/Parallelize.cpp @@ -42,6 +42,7 @@ #include "llvm/Instructions.h" #include "llvm/Module.h" #include "PgmDependenceGraph.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Analysis/DataStructure/DataStructure.h" #include "llvm/Analysis/DataStructure/DSGraph.h" #include "llvm/Support/InstVisitor.h" @@ -408,6 +409,8 @@ namespace { RegisterOpt<Parallelize> X("parallel", "Parallelize program using Cilk"); } +ModulePass *llvm::createParallelizePass() { return new Parallelize(); } + bool Parallelize::runOnModule(Module& M) { hash_set<Function*> parallelFunctions; diff --git a/lib/Analysis/DataStructure/Steensgaard.cpp b/lib/Analysis/DataStructure/Steensgaard.cpp index b0718a18b9..5102dddec1 100644 --- a/lib/Analysis/DataStructure/Steensgaard.cpp +++ b/lib/Analysis/DataStructure/Steensgaard.cpp @@ -17,6 +17,7 @@ #include "llvm/Analysis/DataStructure/DataStructure.h" #include "llvm/Analysis/DataStructure/DSGraph.h" #include "llvm/Analysis/AliasAnalysis.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Module.h" #include "llvm/Support/Debug.h" using namespace llvm; @@ -76,6 +77,8 @@ namespace { RegisterAnalysisGroup<AliasAnalysis, Steens> Y; } +ModulePass *llvm::createSteensgaardPass() { return new Steens(); } + /// ResolveFunctionCall - Resolve the actual arguments of a call to function F /// with the specified call site descriptor. This function links the arguments /// and the return value for the call site context-insensitively. |