aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-07-26 21:12:44 +0000
committerChris Lattner <sabre@nondot.org>2002-07-26 21:12:44 +0000
commit1e43516dcf4aa152432447397334cd43744d63e1 (patch)
tree0287d82e3bb70e8f2140d9dc67de7d8cabf1d908 /lib/Analysis
parent5d549083e2dc55cc1aa035f1069480d052717061 (diff)
downloadexternal_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.cpp2
-rw-r--r--lib/Analysis/DataStructure/DataStructure.cpp2
-rw-r--r--lib/Analysis/IPA/CallGraph.cpp5
-rw-r--r--lib/Analysis/IntervalPartition.cpp3
-rw-r--r--lib/Analysis/LiveVar/FunctionLiveVarInfo.cpp2
-rw-r--r--lib/Analysis/LoopInfo.cpp2
-rw-r--r--lib/Analysis/PostDominators.cpp20
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);