diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2005-07-13 11:38:44 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2005-07-13 09:38:44 +0000 |
commit | 7869fe47b3a1b1ea8ecc628860c4996bb5857f37 (patch) | |
tree | 46cadb0d2b158517b4c06e56835052187efbef3c /gcc/toplev.c | |
parent | fe83f5439acb1ce8d12d46e991e88aecf5d7c6dc (diff) | |
download | gcc-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.c | 10 |
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. */ |