diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-22 05:37:10 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-22 05:37:10 +0000 |
commit | 9efd4fcceb95b12cfc59cf1a9df6f4c7a855d040 (patch) | |
tree | bf06f60153ffab5522e6a37f2b5ffe606dddb6c8 /llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp | |
parent | 2fa26e5fd08e97a784c6de5cb3034eab6e476c98 (diff) | |
download | bcm5719-llvm-9efd4fcceb95b12cfc59cf1a9df6f4c7a855d040.tar.gz bcm5719-llvm-9efd4fcceb95b12cfc59cf1a9df6f4c7a855d040.zip |
eliminate a bunch more unneeded dynamic_cast's.
llvm-svn: 94156
Diffstat (limited to 'llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp')
-rw-r--r-- | llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp b/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp index bb2a2cc8c3c..d31d814153b 100644 --- a/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp +++ b/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp @@ -400,13 +400,14 @@ void CallGraphSCCPass::assignPassManager(PMStack &PMS, PMS.top()->getPassManagerType() > PMT_CallGraphPassManager) PMS.pop(); - assert (!PMS.empty() && "Unable to handle Call Graph Pass"); - CGPassManager *CGP = dynamic_cast<CGPassManager *>(PMS.top()); - - // Create new Call Graph SCC Pass Manager if it does not exist. - if (!CGP) { - - assert (!PMS.empty() && "Unable to create Call Graph Pass Manager"); + assert(!PMS.empty() && "Unable to handle Call Graph Pass"); + CGPassManager *CGP; + + if (PMS.top()->getPassManagerType() == PMT_CallGraphPassManager) + CGP = (CGPassManager*)PMS.top(); + else { + // Create new Call Graph SCC Pass Manager if it does not exist. + assert(!PMS.empty() && "Unable to create Call Graph Pass Manager"); PMDataManager *PMD = PMS.top(); // [1] Create new Call Graph Pass Manager @@ -418,7 +419,7 @@ void CallGraphSCCPass::assignPassManager(PMStack &PMS, // [3] Assign manager to manage this new manager. This may create // and push new managers into PMS - Pass *P = dynamic_cast<Pass *>(CGP); + Pass *P = CGP; TPM->schedulePass(P); // [4] Push new manager into PMS |