diff options
Diffstat (limited to 'lib/Analysis/IPA/CallGraphSCCPass.cpp')
-rw-r--r-- | lib/Analysis/IPA/CallGraphSCCPass.cpp | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/lib/Analysis/IPA/CallGraphSCCPass.cpp b/lib/Analysis/IPA/CallGraphSCCPass.cpp index 0a2f7c5397..b8343cf4ce 100644 --- a/lib/Analysis/IPA/CallGraphSCCPass.cpp +++ b/lib/Analysis/IPA/CallGraphSCCPass.cpp @@ -40,8 +40,8 @@ public: /// whether any of the passes modifies the module, and if so, return true. bool runOnModule(Module &M); - bool doInitialization(CallGraph &CG, Module &M); - bool doFinalization(CallGraph &CG, Module &M); + bool doInitialization(CallGraph &CG); + bool doFinalization(CallGraph &CG); /// Pass Manager itself does not invalidate any analysis info. void getAnalysisUsage(AnalysisUsage &Info) const { @@ -82,7 +82,7 @@ char CGPassManager::ID = 0; /// whether any of the passes modifies the module, and if so, return true. bool CGPassManager::runOnModule(Module &M) { CallGraph &CG = getAnalysis<CallGraph>(); - bool Changed = doInitialization(CG, M); + bool Changed = doInitialization(CG); // Walk SCC for (scc_iterator<CallGraph*> I = scc_begin(&CG), E = scc_end(&CG); @@ -126,38 +126,28 @@ bool CGPassManager::runOnModule(Module &M) { removeDeadPasses(P, "", ON_CG_MSG); } } - Changed |= doFinalization(CG, M); + Changed |= doFinalization(CG); return Changed; } /// Initialize CG -bool CGPassManager::doInitialization(CallGraph &CG, Module &M) { +bool CGPassManager::doInitialization(CallGraph &CG) { bool Changed = false; for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { Pass *P = getContainedPass(Index); - if (CallGraphSCCPass *CGSP = dynamic_cast<CallGraphSCCPass *>(P)) { + if (CallGraphSCCPass *CGSP = dynamic_cast<CallGraphSCCPass *>(P)) Changed |= CGSP->doInitialization(CG); - } else { - FPPassManager *FP = dynamic_cast<FPPassManager *>(P); - assert (FP && "Invalid CGPassManager member"); - Changed |= FP->doInitialization(M); - } } return Changed; } /// Finalize CG -bool CGPassManager::doFinalization(CallGraph &CG, Module &M) { +bool CGPassManager::doFinalization(CallGraph &CG) { bool Changed = false; for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { Pass *P = getContainedPass(Index); - if (CallGraphSCCPass *CGSP = dynamic_cast<CallGraphSCCPass *>(P)) { + if (CallGraphSCCPass *CGSP = dynamic_cast<CallGraphSCCPass *>(P)) Changed |= CGSP->doFinalization(CG); - } else { - FPPassManager *FP = dynamic_cast<FPPassManager *>(P); - assert (FP && "Invalid CGPassManager member"); - Changed |= FP->doFinalization(M); - } } return Changed; } |