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 <rdar://problem/8447345>.

llvm-svn: 115099
This commit is contained in:
Owen Anderson 2010-09-29 22:57:02 +00:00
parent 4a010fd1ea
commit 6d33f59952
1 changed files with 1 additions and 0 deletions

View File

@ -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.