diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 292a42aab41..f7fd5c02b55 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -476,21 +476,16 @@ int main(int argc, char **argv) { errs() << argv[0] << ": cannot create pass: " << PassInf->getPassName() << "\n"; if (P) { - bool isBBPass = dynamic_cast(P) != 0; - bool isLPass = !isBBPass && dynamic_cast(P) != 0; - bool isFPass = !isLPass && dynamic_cast(P) != 0; - bool isCGSCCPass = !isFPass && dynamic_cast(P) != 0; - addPass(Passes, P); if (AnalyzeOnly) { - if (isBBPass) + if (dynamic_cast(P)) Passes.add(new BasicBlockPassPrinter(PassInf)); - else if (isLPass) + else if (dynamic_cast(P)) Passes.add(new LoopPassPrinter(PassInf)); - else if (isFPass) + else if (dynamic_cast(P)) Passes.add(new FunctionPassPrinter(PassInf)); - else if (isCGSCCPass) + else if (dynamic_cast(P)) Passes.add(new CallGraphSCCPassPrinter(PassInf)); else Passes.add(new ModulePassPrinter(PassInf));