aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2005-07-13 11:38:44 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2005-07-13 09:38:44 +0000
commit7869fe47b3a1b1ea8ecc628860c4996bb5857f37 (patch)
tree46cadb0d2b158517b4c06e56835052187efbef3c /gcc/toplev.c
parentfe83f5439acb1ce8d12d46e991e88aecf5d7c6dc (diff)
downloadgcc-7869fe47b3a1b1ea8ecc628860c4996bb5857f37.zip
gcc-7869fe47b3a1b1ea8ecc628860c4996bb5857f37.tar.gz
gcc-7869fe47b3a1b1ea8ecc628860c4996bb5857f37.tar.bz2
re PR rtl-optimization/20376 (The missed-optimization of general induction variables in the new rtl-level loop optimizer cause performance degradation.)
PR rtl-optimization/20376 * toplev.c (process_options): Enable -fweb and -frename-registers when unrolling. * doc/invoke.texi: Update the information about when -fweb and -frename-registers are enabled. From-SVN: r101961
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 8e7da03c..0250c97 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1530,9 +1530,15 @@ process_options (void)
if (flag_unroll_all_loops)
flag_unroll_loops = 1;
- /* The loop unrolling code assumes that cse will be run after loop. */
+ /* The loop unrolling code assumes that cse will be run after loop.
+ Also enable -fweb and -frename-registers that help scheduling
+ the unrolled loop. */
if (flag_unroll_loops || flag_peel_loops)
- flag_rerun_cse_after_loop = 1;
+ {
+ flag_rerun_cse_after_loop = 1;
+ flag_web = 1;
+ flag_rename_registers = 1;
+ }
/* If explicitly asked to run new loop optimizer, switch off the old
one. */