gOlogy: skip dbranch at -Og
Delayed slot filling moves insns without any regard to variable location notes, causing the location information in them to become incorrect. Fixing that appears to be quite difficult, but filling delay slots is hardly an essential optimization to run at -Og, so if the user wants to privilege debuggability, skip delay slot filling. for gcc/ChangeLog * opts.c (default_options_table): Do not enable OPT_fdelayed_branch at -Og. * doc/invoke.texi (-fdelayed-branch): Document it. From-SVN: r265708
This commit is contained in:
parent
8ff3295bc7
commit
f4baf89f7c
@ -1,3 +1,9 @@
|
||||
2018-10-31 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* 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 <richard.henderson@linaro.org>
|
||||
|
||||
* optabs-libfuncs.c (build_libfunc_function_visibility):
|
||||
|
@ -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
|
||||
|
@ -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 },
|
||||
|
Loading…
Reference in New Issue
Block a user