mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-26 05:00:26 +00:00
Add last four createXxxPass functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19424 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fd161e964a
commit
1d7b5de7ee
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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...
|
||||
//
|
||||
|
@ -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.
|
||||
///
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user