aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
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. */