diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2018-11-01 01:23:08 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2018-11-01 01:23:08 +0000 |
commit | f4baf89f7c7cef908c23081f35b3f9fc226c0d12 (patch) | |
tree | a7962616c7cc7c1826eff04a8931a5fbc1eb2986 /gcc/opts.c | |
parent | 8ff3295bc7c28972f06a7743e005599b82aacea9 (diff) | |
download | gcc-f4baf89f7c7cef908c23081f35b3f9fc226c0d12.zip gcc-f4baf89f7c7cef908c23081f35b3f9fc226c0d12.tar.gz gcc-f4baf89f7c7cef908c23081f35b3f9fc226c0d12.tar.bz2 |
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
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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 }, |