diff options
| author | Owen Anderson <resistor@mac.com> | 2010-09-29 22:57:02 +0000 |
|---|---|---|
| committer | Owen Anderson <resistor@mac.com> | 2010-09-29 22:57:02 +0000 |
| commit | 6d33f59952b005d895fa840569e81bebcc089838 (patch) | |
| tree | bdd4800fea1874e9b5220ce01e0c770defdda732 /llvm/include | |
| parent | 4a010fd1eac964a9d60fa87dfc1841dcb666335b (diff) | |
| download | bcm5719-llvm-6d33f59952b005d895fa840569e81bebcc089838.tar.gz bcm5719-llvm-6d33f59952b005d895fa840569e81bebcc089838.zip | |
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
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/Support/StandardPasses.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/include/llvm/Support/StandardPasses.h b/llvm/include/llvm/Support/StandardPasses.h index 1b40ede14b8..6e76426b205 100644 --- a/llvm/include/llvm/Support/StandardPasses.h +++ b/llvm/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. |

