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;