Hi,
this patch makes -frename-registers independent with -fpeel-loops.
I think the original idea for building this in was the fact that loop peeling 
creates
large basic blocks where scheduling matters. This is no longer true about 
-fpeel-loops because
this happens only for complete peeling which has been moved to separate pass 
long time ago.

Bootsrapping/regtesting x86_64-linux, OK?

        * doc/invoke.texi (-frename-registers): Drop -fpeel-loops from list
        of flags impliying the register renaming.
        * toplev.c (process_options): Do not imply flag_rename_registers with
        loop peeling.

Index: doc/invoke.texi
===================================================================
--- doc/invoke.texi     (revision 236914)
+++ doc/invoke.texi     (working copy)
@@ -8623,7 +8623,7 @@ debug information format adopted by the
 make debugging impossible, since variables no longer stay in
 a ``home register''.
 
-Enabled by default with @option{-funroll-loops} and @option{-fpeel-loops}.
+Enabled by default with @option{-funroll-loops}.
 
 @item -fschedule-fusion
 @opindex fschedule-fusion
Index: toplev.c
===================================================================
--- toplev.c    (revision 236915)
+++ toplev.c    (working copy)
@@ -1299,7 +1299,7 @@ process_options (void)
     flag_web = flag_unroll_loops;
 
   if (flag_rename_registers == AUTODETECT_VALUE)
-    flag_rename_registers = flag_unroll_loops || flag_peel_loops;
+    flag_rename_registers = flag_unroll_loops;
 
   if (flag_non_call_exceptions)
     flag_asynchronous_unwind_tables = 1;

Reply via email to