Eliminate a few unnecessary uses of dynamic_cast.
authorDan Gohman <gohman@apple.com>
Thu, 13 Mar 2008 02:08:36 +0000 (02:08 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 13 Mar 2008 02:08:36 +0000 (02:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48318 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/PassManager.cpp

index b68d305aaa1e1ab8ff3d1db90abc26d5a27586b4..5a85a16d50309795db4b8f26f5ecfe535aab4841 100644 (file)
@@ -1038,8 +1038,7 @@ FunctionPassManager::FunctionPassManager(ModuleProvider *P) {
   // FPM is the top level manager.
   FPM->setTopLevelManager(FPM);
 
-  PMDataManager *PMD = dynamic_cast<PMDataManager *>(FPM);
-  AnalysisResolver *AR = new AnalysisResolver(*PMD);
+  AnalysisResolver *AR = new AnalysisResolver(*FPM);
   FPM->setResolver(AR);
   
   MP = P;
@@ -1471,14 +1470,13 @@ void FunctionPass::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 *>(FPP);
 
     // If Call Graph Pass Manager is active then use it to manage
     // this new Function Pass manager.
     if (PMD->getPassManagerType() == PMT_CallGraphPassManager)
-      P->assignPassManager(PMS, PMT_CallGraphPassManager);
+      FPP->assignPassManager(PMS, PMT_CallGraphPassManager);
     else
-      P->assignPassManager(PMS);
+      FPP->assignPassManager(PMS);
 
     // [4] Push new manager into PMS
     PMS.push(FPP);
@@ -1517,8 +1515,7 @@ void BasicBlockPass::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 *>(BBP);
-    P->assignPassManager(PMS);
+    BBP->assignPassManager(PMS);
 
     // [4] Push new manager into PMS
     PMS.push(BBP);