diff options
author | Alexandre Oliva <oliva@adacore.com> | 2024-06-13 00:12:47 -0300 |
---|---|---|
committer | Alexandre Oliva <oliva@gnu.org> | 2024-07-03 07:44:31 -0300 |
commit | bf2fc0a27b35de039c3d45e6d7ea9ad0a8a305ba (patch) | |
tree | 45794a518575f8be7346c5a66f465115e8501917 /gcc/ada/gcc-interface/cuintp.cc | |
parent | 6492c7130d6ae9992298fc3d072e2589d1131376 (diff) | |
download | gcc-bf2fc0a27b35de039c3d45e6d7ea9ad0a8a305ba.zip gcc-bf2fc0a27b35de039c3d45e6d7ea9ad0a8a305ba.tar.gz gcc-bf2fc0a27b35de039c3d45e6d7ea9ad0a8a305ba.tar.bz2 |
[i386] restore recompute to override opts after change [PR113719]
The first patch for PR113719 regressed gcc.dg/ipa/iinline-attr.c on
toolchains configured to --enable-frame-pointer, because the
optimization node created within handle_optimize_attribute had
flag_omit_frame_pointer incorrectly set, whereas
default_optimization_node didn't. With this difference,
can_inline_edge_by_limits_p flagged an optimization mismatch and we
refused to inline the function that had a redundant optimization flag
into one that didn't, which is exactly what is tested for there.
This patch restores the calls to ix86_default_align and
ix86_recompute_optlev_based_flags that used to be, and ought to be,
issued during TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE, but preserves the
intent of the original change, of having those functions called at
different spots within ix86_option_override_internal. To that end,
the remaining bits were refactored into a separate function, that was
in turn adjusted to operate on explicitly-passed opts and opts_set,
rather than going for their global counterparts.
for gcc/ChangeLog
PR target/113719
* config/i386/i386-options.cc
(ix86_override_options_after_change_1): Add opts and opts_set
parms, operate on them, after factoring out of...
(ix86_override_options_after_change): ... this. Restore calls
of ix86_default_align and ix86_recompute_optlev_based_flags.
(ix86_option_override_internal): Call the factored-out bits.
Diffstat (limited to 'gcc/ada/gcc-interface/cuintp.cc')
0 files changed, 0 insertions, 0 deletions