summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/PostDominators.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-04-27 06:56:12 +0000
committerChris Lattner <sabre@nondot.org>2002-04-27 06:56:12 +0000
commitc8e665431be235941eedfd0e6434fa5386d632d1 (patch)
treeec509bce054e36357111e58ecd2207fcc8238b9b /llvm/lib/Analysis/PostDominators.cpp
parent66cfaf1da24e732948b75d1d82272793da8ec5ae (diff)
downloadbcm5719-llvm-c8e665431be235941eedfd0e6434fa5386d632d1.tar.gz
bcm5719-llvm-c8e665431be235941eedfd0e6434fa5386d632d1.zip
* Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well llvm-svn: 2333
Diffstat (limited to 'llvm/lib/Analysis/PostDominators.cpp')
-rw-r--r--llvm/lib/Analysis/PostDominators.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/llvm/lib/Analysis/PostDominators.cpp b/llvm/lib/Analysis/PostDominators.cpp
index 71ee3d74cf9..387b673f606 100644
--- a/llvm/lib/Analysis/PostDominators.cpp
+++ b/llvm/lib/Analysis/PostDominators.cpp
@@ -22,7 +22,7 @@ using std::set;
AnalysisID cfg::DominatorSet::ID(AnalysisID::create<cfg::DominatorSet>());
AnalysisID cfg::DominatorSet::PostDomID(AnalysisID::create<cfg::DominatorSet>());
-bool cfg::DominatorSet::runOnMethod(Function *F) {
+bool cfg::DominatorSet::runOnFunction(Function *F) {
Doms.clear(); // Reset from the last time we were run...
if (isPostDominator())
@@ -129,17 +129,16 @@ void cfg::DominatorSet::calcPostDominatorSet(Function *M) {
} while (Changed);
}
-// getAnalysisUsageInfo - This obviously provides a dominator set, but it also
-// uses the UnifyMethodExitNodes pass if building post-dominators
+// getAnalysisUsage - This obviously provides a dominator set, but it also
+// uses the UnifyFunctionExitNodes pass if building post-dominators
//
-void cfg::DominatorSet::getAnalysisUsageInfo(Pass::AnalysisSet &Requires,
- Pass::AnalysisSet &Destroyed,
- Pass::AnalysisSet &Provided) {
+void cfg::DominatorSet::getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.setPreservesAll();
if (isPostDominator()) {
- Provided.push_back(PostDomID);
- Requires.push_back(UnifyMethodExitNodes::ID);
+ AU.addProvided(PostDomID);
+ AU.addRequired(UnifyMethodExitNodes::ID);
} else {
- Provided.push_back(ID);
+ AU.addProvided(ID);
}
}
OpenPOWER on IntegriCloud