https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113719

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alexandre Oliva <aol...@gcc.gnu.org>:

https://gcc.gnu.org/g:bf2fc0a27b35de039c3d45e6d7ea9ad0a8a305ba

commit r15-1814-gbf2fc0a27b35de039c3d45e6d7ea9ad0a8a305ba
Author: Alexandre Oliva <ol...@adacore.com>
Date:   Thu Jun 13 00:12:47 2024 -0300

    [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.

Reply via email to