diff options
author | Steven Bosscher <stevenb.gcc@gmail.com> | 2006-02-26 20:23:40 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2006-02-26 20:23:40 +0000 |
commit | 37818e7cec777ac18d89ec448cb94603d3ec5c7f (patch) | |
tree | 17497b7fe2c1670f29453859c0c2bf34edca6ec2 /gcc/cfgcleanup.c | |
parent | 74fe790bfd431c25d77bca1bbe6df6d5d6eb1c82 (diff) | |
download | gcc-37818e7cec777ac18d89ec448cb94603d3ec5c7f.zip gcc-37818e7cec777ac18d89ec448cb94603d3ec5c7f.tar.gz gcc-37818e7cec777ac18d89ec448cb94603d3ec5c7f.tar.bz2 |
common.opt (-floop-optimize, [...]): Remove.
gcc/
* common.opt (-floop-optimize, -frerun-loop-opt): Remove.
* tree-pass.h (pass_loop_optimize): Remove.
* passes.c (pass_loop_optimize): Never run it.
* toplev.c (backend_init): Don't call init_loop.
* opts.c (flag_loop_optimize_set): Remove.
(decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
(common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
the old RTL loop optimizer when profiling enabled.
* predict.c (tree_estimate_probability): Always strip builtin_expect.
* cfgcleanup.c (try_forward_edges): Don't avoid killing loop
pre-headers for the sake of the old RTL loop optimizer.
* Makefile.in: Remove all references to loop.o.
* doc/invoke.texi: Remove all references to -floop-optimize
and -frerun-loop-opt.
testsuite/
* gcc.dg/20031201-1.c: Don't use -frerun-loop-opt.
* g++.old-deja/g++.robertl/eb132.C: Likewise.
From-SVN: r111459
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index c2c262c..0e67415 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -516,39 +516,6 @@ try_forward_edges (int mode, basic_block b) if (!new_target) break; - /* Avoid killing of loop pre-headers, as it is the place loop - optimizer wants to hoist code to. - - For fallthru forwarders, the LOOP_BEG note must appear between - the header of block and CODE_LABEL of the loop, for non forwarders - it must appear before the JUMP_INSN. */ - if ((mode & CLEANUP_PRE_LOOP) && optimize && flag_loop_optimize) - { - rtx insn = (EDGE_SUCC (target, 0)->flags & EDGE_FALLTHRU - ? BB_HEAD (target) : prev_nonnote_insn (BB_END (target))); - - if (!NOTE_P (insn)) - insn = NEXT_INSN (insn); - - for (; insn && !LABEL_P (insn) && !INSN_P (insn); - insn = NEXT_INSN (insn)) - if (NOTE_P (insn) - && NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_BEG) - break; - - if (insn && NOTE_P (insn)) - break; - - /* Do not clean up branches to just past the end of a loop - at this time; it can mess up the loop optimizer's - recognition of some patterns. */ - - insn = PREV_INSN (BB_HEAD (target)); - if (insn && NOTE_P (insn) - && NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END) - break; - } - counter++; target = new_target; threaded |= new_target_threaded; |