From: Owen Anderson Date: Wed, 29 Sep 2010 22:57:02 +0000 (+0000) Subject: Early CFG simplification can fold conditionals down to selects, which is often a... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=235859d66cf3faf7453f59b92cc4056ae1855d0d;p=oota-llvm.git Early CFG simplification can fold conditionals down to selects, which is often a good thing, but it can also hide jump threading opportunities by turning control flow into data flow. Run an early JumpThreading pass (adds approximately an additional 1% to optimization time on SPEC), allowing it to get a shot at these cases first. Fixes . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115099 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Support/StandardPasses.h b/include/llvm/Support/StandardPasses.h index 1b40ede14b8..6e76426b205 100644 --- a/include/llvm/Support/StandardPasses.h +++ b/include/llvm/Support/StandardPasses.h @@ -104,6 +104,7 @@ namespace llvm { PM->add(createDeadArgEliminationPass()); // Dead argument elimination } PM->add(createInstructionCombiningPass()); // Clean up after IPCP & DAE + PM->add(createJumpThreadingPass()); // Clean up after IPCP & DAE PM->add(createCFGSimplificationPass()); // Clean up after IPCP & DAE // Start of CallGraph SCC passes.