diff options
author | Chris Lattner <sabre@nondot.org> | 2002-07-26 21:12:44 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-07-26 21:12:44 +0000 |
commit | 1e43516dcf4aa152432447397334cd43744d63e1 (patch) | |
tree | 0287d82e3bb70e8f2140d9dc67de7d8cabf1d908 /lib/Analysis | |
parent | 5d549083e2dc55cc1aa035f1069480d052717061 (diff) | |
download | external_llvm-1e43516dcf4aa152432447397334cd43744d63e1.tar.gz external_llvm-1e43516dcf4aa152432447397334cd43744d63e1.tar.bz2 external_llvm-1e43516dcf4aa152432447397334cd43744d63e1.zip |
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3112 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/DataStructure/BottomUpClosure.cpp | 2 | ||||
-rw-r--r-- | lib/Analysis/DataStructure/DataStructure.cpp | 2 | ||||
-rw-r--r-- | lib/Analysis/IPA/CallGraph.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/IntervalPartition.cpp | 3 | ||||
-rw-r--r-- | lib/Analysis/LiveVar/FunctionLiveVarInfo.cpp | 2 | ||||
-rw-r--r-- | lib/Analysis/LoopInfo.cpp | 2 | ||||
-rw-r--r-- | lib/Analysis/PostDominators.cpp | 20 |
7 files changed, 33 insertions, 3 deletions
diff --git a/lib/Analysis/DataStructure/BottomUpClosure.cpp b/lib/Analysis/DataStructure/BottomUpClosure.cpp index f7a6332e78..62206d9b0e 100644 --- a/lib/Analysis/DataStructure/BottomUpClosure.cpp +++ b/lib/Analysis/DataStructure/BottomUpClosure.cpp @@ -13,6 +13,8 @@ #include "Support/StatisticReporter.h" using std::map; +static RegisterAnalysis<BUDataStructures> +X("budatastructure", "Bottom-Up Data Structure Analysis Closure"); AnalysisID BUDataStructures::ID(AnalysisID::create<BUDataStructures>()); // releaseMemory - If the pass pipeline is done with this pass, we can release diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp index befbd55040..f573a0be1a 100644 --- a/lib/Analysis/DataStructure/DataStructure.cpp +++ b/lib/Analysis/DataStructure/DataStructure.cpp @@ -15,6 +15,8 @@ using std::vector; +static RegisterAnalysis<LocalDataStructures> +X("datastructure", "Local Data Structure Analysis"); AnalysisID LocalDataStructures::ID(AnalysisID::create<LocalDataStructures>()); //===----------------------------------------------------------------------===// diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp index 0e3722a86e..dfb5de68de 100644 --- a/lib/Analysis/IPA/CallGraph.cpp +++ b/lib/Analysis/IPA/CallGraph.cpp @@ -40,13 +40,12 @@ #include "llvm/Analysis/CallGraph.h" #include "llvm/Module.h" -#include "llvm/Function.h" -#include "llvm/BasicBlock.h" #include "llvm/iOther.h" #include "llvm/iTerminators.h" #include "Support/STLExtras.h" #include <algorithm> -#include <iostream> + +static RegisterAnalysis<CallGraph> X("callgraph", "Call Graph Construction"); AnalysisID CallGraph::ID(AnalysisID::create<CallGraph>()); diff --git a/lib/Analysis/IntervalPartition.cpp b/lib/Analysis/IntervalPartition.cpp index 8d0e34c1a7..5e6bf9ca4d 100644 --- a/lib/Analysis/IntervalPartition.cpp +++ b/lib/Analysis/IntervalPartition.cpp @@ -10,6 +10,9 @@ using std::make_pair; +static RegisterAnalysis<IntervalPartition> +X("intervals", "Interval Partition Construction"); + AnalysisID IntervalPartition::ID(AnalysisID::create<IntervalPartition>(), true); //===----------------------------------------------------------------------===// diff --git a/lib/Analysis/LiveVar/FunctionLiveVarInfo.cpp b/lib/Analysis/LiveVar/FunctionLiveVarInfo.cpp index b080ec2f3e..e730f49e69 100644 --- a/lib/Analysis/LiveVar/FunctionLiveVarInfo.cpp +++ b/lib/Analysis/LiveVar/FunctionLiveVarInfo.cpp @@ -15,6 +15,8 @@ #include "Support/CommandLine.h" #include <iostream> +static RegisterAnalysis<FunctionLiveVarInfo> +X("livevar", "Live Variable Analysis"); AnalysisID FunctionLiveVarInfo::ID(AnalysisID::create<FunctionLiveVarInfo>()); LiveVarDebugLevel_t DEBUG_LV; diff --git a/lib/Analysis/LoopInfo.cpp b/lib/Analysis/LoopInfo.cpp index 2559912c0e..c53cc9038c 100644 --- a/lib/Analysis/LoopInfo.cpp +++ b/lib/Analysis/LoopInfo.cpp @@ -13,6 +13,8 @@ #include "Support/DepthFirstIterator.h" #include <algorithm> +static RegisterAnalysis<LoopInfo> +X("loops", "Natural Loop Construction"); AnalysisID LoopInfo::ID(AnalysisID::create<LoopInfo>(), true); //===----------------------------------------------------------------------===// diff --git a/lib/Analysis/PostDominators.cpp b/lib/Analysis/PostDominators.cpp index 777b3c4a9f..9b35d16b90 100644 --- a/lib/Analysis/PostDominators.cpp +++ b/lib/Analysis/PostDominators.cpp @@ -18,6 +18,11 @@ using std::set; // DominatorSet Implementation //===----------------------------------------------------------------------===// +static RegisterAnalysis<DominatorSet> +A("domset", "Dominator Set Construction"); +static RegisterAnalysis<PostDominatorSet> +B("postdomset", "Post-Dominator Set Construction"); + AnalysisID DominatorSet::ID(AnalysisID::create<DominatorSet>(), true); AnalysisID PostDominatorSet::ID(AnalysisID::create<PostDominatorSet>(), true); @@ -151,6 +156,11 @@ void PostDominatorSet::getAnalysisUsage(AnalysisUsage &AU) const { // ImmediateDominators Implementation //===----------------------------------------------------------------------===// +static RegisterAnalysis<ImmediateDominators> +C("idom", "Immediate Dominators Construction"); +static RegisterAnalysis<ImmediatePostDominators> +D("postidom", "Immediate Post-Dominators Construction"); + AnalysisID ImmediateDominators::ID(AnalysisID::create<ImmediateDominators>(), true); AnalysisID ImmediatePostDominators::ID(AnalysisID::create<ImmediatePostDominators>(), true); @@ -195,6 +205,11 @@ void ImmediateDominatorsBase::calcIDoms(const DominatorSetBase &DS) { // DominatorTree Implementation //===----------------------------------------------------------------------===// +static RegisterAnalysis<DominatorTree> +E("domtree", "Dominator Tree Construction"); +static RegisterAnalysis<PostDominatorTree> +F("postdomtree", "Post-Dominator Tree Construction"); + AnalysisID DominatorTree::ID(AnalysisID::create<DominatorTree>(), true); AnalysisID PostDominatorTree::ID(AnalysisID::create<PostDominatorTree>(), true); @@ -307,6 +322,11 @@ void PostDominatorTree::calculate(const PostDominatorSet &DS) { // DominanceFrontier Implementation //===----------------------------------------------------------------------===// +static RegisterAnalysis<DominanceFrontier> +G("domfrontier", "Dominance Frontier Construction"); +static RegisterAnalysis<PostDominanceFrontier> +H("postdomfrontier", "Post-Dominance Frontier Construction"); + AnalysisID DominanceFrontier::ID(AnalysisID::create<DominanceFrontier>(), true); AnalysisID PostDominanceFrontier::ID(AnalysisID::create<PostDominanceFrontier>(), true); |