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 | a2c098598058ae8466f6141804fdba50b758b0fd (patch) | |
| tree | 0eb509aa12fe009ee16265c0bd5f1a1a226720a3 /llvm/lib/Analysis/PostDominators.cpp | |
| parent | d858d8087fae2b014bd5ee520e53e1e34f055794 (diff) | |
| download | bcm5719-llvm-a2c098598058ae8466f6141804fdba50b758b0fd.tar.gz bcm5719-llvm-a2c098598058ae8466f6141804fdba50b758b0fd.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
llvm-svn: 3112
Diffstat (limited to 'llvm/lib/Analysis/PostDominators.cpp')
| -rw-r--r-- | llvm/lib/Analysis/PostDominators.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/PostDominators.cpp b/llvm/lib/Analysis/PostDominators.cpp index 777b3c4a9f0..9b35d16b904 100644 --- a/llvm/lib/Analysis/PostDominators.cpp +++ b/llvm/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); |

