diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 56e802ef0af..234457a2584 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-10-31 Alexandre Oliva + + * opts.c (default_options_table): Do not enable + OPT_fdelayed_branch at -Og. + * doc/invoke.texi (-fdelayed-branch): Document it. + 2018-10-31 Richard Henderson * optabs-libfuncs.c (build_libfunc_function_visibility): diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 284594df010..e290128f535 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -8595,7 +8595,8 @@ If supported for the target machine, attempt to reorder instructions to exploit instruction slots available after delayed branch instructions. -Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}. +Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}, +but not at @option{-Og}. @item -fschedule-insns @opindex fschedule-insns diff --git a/gcc/opts.c b/gcc/opts.c index 3b61e17a7ab..34c283dd765 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -442,7 +442,7 @@ static const struct default_options default_options_table[] = /* -O1 optimizations. */ { OPT_LEVELS_1_PLUS, OPT_fdefer_pop, NULL, 1 }, #if DELAY_SLOTS - { OPT_LEVELS_1_PLUS, OPT_fdelayed_branch, NULL, 1 }, + { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fdelayed_branch, NULL, 1 }, #endif { OPT_LEVELS_1_PLUS, OPT_fguess_branch_probability, NULL, 1 }, { OPT_LEVELS_1_PLUS, OPT_fcprop_registers, NULL, 1 },