Add last four createXxxPass functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19424 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h
index 0c991c5..47e1e72 100644
--- a/include/llvm/Analysis/Passes.h
+++ b/include/llvm/Analysis/Passes.h
@@ -80,6 +80,34 @@
   // 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 163de11..b5d67f7 100644
--- a/include/llvm/Transforms/LinkAllPasses.h
+++ b/include/llvm/Transforms/LinkAllPasses.h
@@ -56,6 +56,8 @@
       (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 @@
       (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 @@
       (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 9b39c8f..915909e 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 @@
   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 1996aea..1d8373a 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 @@
   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 2bb6c7f..a12e323 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 @@
   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 b0718a1..5102ddd 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 @@
   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.