From 534927d82de6d1be0f6e939263eeb309ad135661 Mon Sep 17 00:00:00 2001 From: Jeff Cohen Date: Sat, 8 Jan 2005 22:01:16 +0000 Subject: Add even more missing createXxxPass functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/AliasAnalysisCounter.cpp | 5 +++++ lib/Analysis/AliasAnalysisEvaluator.cpp | 3 +++ lib/Analysis/BasicAliasAnalysis.cpp | 6 ++++++ lib/Analysis/IPA/Andersens.cpp | 3 +++ lib/Analysis/ProfileInfo.cpp | 3 +++ lib/Analysis/ProfileInfoLoaderPass.cpp | 2 ++ lib/Analysis/ValueNumbering.cpp | 3 +++ 7 files changed, 25 insertions(+) (limited to 'lib') diff --git a/lib/Analysis/AliasAnalysisCounter.cpp b/lib/Analysis/AliasAnalysisCounter.cpp index de698e4..0be1bc4 100644 --- a/lib/Analysis/AliasAnalysisCounter.cpp +++ b/lib/Analysis/AliasAnalysisCounter.cpp @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// +#include "llvm/Analysis/Passes.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/Pass.h" #include @@ -124,3 +125,7 @@ namespace { X("count-aa", "Count Alias Analysis Query Responses"); RegisterAnalysisGroup Y; } + +ModulePass *llvm::createAliasAnalysisCounterPass() { + return new AliasAnalysisCounter(); +} diff --git a/lib/Analysis/AliasAnalysisEvaluator.cpp b/lib/Analysis/AliasAnalysisEvaluator.cpp index fc8b25a..bf97963 100644 --- a/lib/Analysis/AliasAnalysisEvaluator.cpp +++ b/lib/Analysis/AliasAnalysisEvaluator.cpp @@ -21,6 +21,7 @@ #include "llvm/Instructions.h" #include "llvm/Pass.h" #include "llvm/DerivedTypes.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/Assembly/Writer.h" #include "llvm/Target/TargetData.h" @@ -72,6 +73,8 @@ namespace { X("aa-eval", "Exhaustive Alias Analysis Precision Evaluator"); } +FunctionPass *llvm::createAAEvalPass() { return new AAEval(); } + static inline void PrintResults(const char *Msg, bool P, Value *V1, Value *V2, Module *M) { if (P) { diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp index 9b8eb42..c507585 100644 --- a/lib/Analysis/BasicAliasAnalysis.cpp +++ b/lib/Analysis/BasicAliasAnalysis.cpp @@ -14,6 +14,7 @@ //===----------------------------------------------------------------------===// #include "llvm/Analysis/AliasAnalysis.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Constants.h" #include "llvm/DerivedTypes.h" #include "llvm/Function.h" @@ -80,6 +81,7 @@ namespace { RegisterAnalysisGroup V; } // End of anonymous namespace +ImmutablePass *llvm::createNoAAPass() { return new NoAA(); } namespace { /// BasicAliasAnalysis - This is the default alias analysis implementation. @@ -124,6 +126,10 @@ namespace { RegisterAnalysisGroup Y; } // End of anonymous namespace +ImmutablePass *llvm::createBasicAliasAnalysisPass() { + return new BasicAliasAnalysis(); +} + // hasUniqueAddress - Return true if the specified value points to something // with a unique, discernable, address. static inline bool hasUniqueAddress(const Value *V) { diff --git a/lib/Analysis/IPA/Andersens.cpp b/lib/Analysis/IPA/Andersens.cpp index c473b0e..b8553e6 100644 --- a/lib/Analysis/IPA/Andersens.cpp +++ b/lib/Analysis/IPA/Andersens.cpp @@ -58,6 +58,7 @@ #include "llvm/Support/InstIterator.h" #include "llvm/Support/InstVisitor.h" #include "llvm/Analysis/AliasAnalysis.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Support/Debug.h" #include "llvm/ADT/Statistic.h" #include @@ -334,6 +335,8 @@ namespace { RegisterAnalysisGroup Y; } +ModulePass *llvm::createAndersensPass() { return new Andersens(); } + //===----------------------------------------------------------------------===// // AliasAnalysis Interface Implementation //===----------------------------------------------------------------------===// diff --git a/lib/Analysis/ProfileInfo.cpp b/lib/Analysis/ProfileInfo.cpp index 8cb1e00..d5cd3cd 100644 --- a/lib/Analysis/ProfileInfo.cpp +++ b/lib/Analysis/ProfileInfo.cpp @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// +#include "llvm/Analysis/Passes.h" #include "llvm/Analysis/ProfileInfo.h" #include "llvm/Pass.h" #include "llvm/Support/CFG.h" @@ -90,3 +91,5 @@ namespace { // Declare that we implement the ProfileInfo interface RegisterAnalysisGroup Y; } // End of anonymous namespace + +ImmutablePass *llvm::createNoProfileInfoPass() { return new NoProfileInfo(); } diff --git a/lib/Analysis/ProfileInfoLoaderPass.cpp b/lib/Analysis/ProfileInfoLoaderPass.cpp index 333e9e0..5a57c54 100644 --- a/lib/Analysis/ProfileInfoLoaderPass.cpp +++ b/lib/Analysis/ProfileInfoLoaderPass.cpp @@ -15,6 +15,7 @@ #include "llvm/BasicBlock.h" #include "llvm/InstrTypes.h" #include "llvm/Pass.h" +#include "llvm/Analysis/Passes.h" #include "llvm/Analysis/ProfileInfo.h" #include "llvm/Analysis/ProfileInfoLoader.h" #include "llvm/Support/CommandLine.h" @@ -54,6 +55,7 @@ namespace { RegisterAnalysisGroup Y; } // End of anonymous namespace +ModulePass *llvm::createLoaderPass() { return new LoaderPass(); } /// createProfileLoaderPass - This function returns a Pass that loads the /// profiling information for the module from the specified filename, making it diff --git a/lib/Analysis/ValueNumbering.cpp b/lib/Analysis/ValueNumbering.cpp index b3a8dc8..1c52a6a 100644 --- a/lib/Analysis/ValueNumbering.cpp +++ b/lib/Analysis/ValueNumbering.cpp @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// +#include "llvm/Analysis/Passes.h" #include "llvm/Analysis/ValueNumbering.h" #include "llvm/Support/InstVisitor.h" #include "llvm/BasicBlock.h" @@ -85,6 +86,8 @@ namespace { }; } +ImmutablePass *llvm::createBasicVNPass() { return new BasicVN(); } + // getEqualNumberNodes - Return nodes with the same value number as the // specified Value. This fills in the argument vector with any equal values. // -- cgit v1.1