1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00

Add last four createXxxPass functions

llvm-svn: 19424
This commit is contained in:
Jeff Cohen 2005-01-09 20:42:52 +00:00
parent 91dd6d2d20
commit f692cd303d
6 changed files with 44 additions and 0 deletions

View File

@ -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

View File

@ -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();

View File

@ -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...
//

View File

@ -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.
///

View File

@ -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;

View File

@ -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.