elimiante the dynamic_cast's from opt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94160 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-01-22 06:03:06 +00:00
parent 6f6e87db19
commit 476e9bd114
5 changed files with 44 additions and 22 deletions

View File

@ -479,16 +479,23 @@ int main(int argc, char **argv) {
addPass(Passes, P);
if (AnalyzeOnly) {
if (dynamic_cast<BasicBlockPass*>(P))
switch (P->getPassKind()) {
case PT_BasicBlock:
Passes.add(new BasicBlockPassPrinter(PassInf));
else if (dynamic_cast<LoopPass*>(P))
break;
case PT_Loop:
Passes.add(new LoopPassPrinter(PassInf));
else if (dynamic_cast<FunctionPass*>(P))
break;
case PT_Function:
Passes.add(new FunctionPassPrinter(PassInf));
else if (dynamic_cast<CallGraphSCCPass*>(P))
break;
case PT_CallGraphSCC:
Passes.add(new CallGraphSCCPassPrinter(PassInf));
else
break;
default:
Passes.add(new ModulePassPrinter(PassInf));
break;
}
}
}