From 9ba7b96825ec29e18372df72dadcc988ea5c0a52 Mon Sep 17 00:00:00 2001 From: "james.brodman" Date: Mon, 28 Oct 2013 16:14:31 -0400 Subject: [PATCH] Make the new optimization play nicely with the other.s --- opt.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/opt.cpp b/opt.cpp index b018d35d..59f00538 100644 --- a/opt.cpp +++ b/opt.cpp @@ -536,12 +536,6 @@ Optimize(llvm::Module *module, int optLevel) { } optPM.add(llvm::createDeadInstEliminationPass(), 220); - if (g->target->getISA() != Target::GENERIC) { - // Just use the builtins for generic targets. - optPM.add(llvm::createIPConstantPropagationPass()); - optPM.add(CreateReplaceStdlibShiftPass()); - } - // Max struct size threshold for scalar replacement is // 1) 4 fields (r,g,b,w) // 2) field size: vectorWidth * sizeof(float) @@ -556,7 +550,12 @@ Optimize(llvm::Module *module, int optLevel) { optPM.add(llvm::createGlobalOptimizerPass()); optPM.add(llvm::createReassociatePass()); optPM.add(llvm::createIPConstantPropagationPass()); - optPM.add(llvm::createDeadArgEliminationPass()); + if (g->target->getISA() != Target::GENERIC) { + // Just use the builtins for generic targets. + + optPM.add(CreateReplaceStdlibShiftPass(),229); + } + optPM.add(llvm::createDeadArgEliminationPass(),230); optPM.add(llvm::createInstructionCombiningPass()); optPM.add(llvm::createCFGSimplificationPass()); optPM.add(llvm::createPruneEHPass());