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

--- Comment #16 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:17a2e8c0918c2ddda82ace9ed17464906f96633d

commit r10-6450-g17a2e8c0918c2ddda82ace9ed17464906f96633d
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Wed Feb 5 15:35:46 2020 +0100

    i386: Schedule the only -O0 split pass on x86 after pro_and_epilogue/jump2
[PR92190]

    The problem is that x86 is the only target that defines HAVE_ATTR_length
and
    doesn't schedule any splitting pass at -O0 after pro_and_epilogue.

    So, either we go back to handling this during vzeroupper output
    (unconditionally, rather than flag_ipa_ra guarded), or we need to tweak the
    split* passes for x86.

    Seems there are 5 split passes, split1 is run unconditionally before
reload,
    split2 is run for optimize > 0 or STACK_REGS (x86) after ra but before
    epilogue_completed, split3 is run before regstack for STACK_REGS and
    optimize and -fno-schedule-insns2, split4 is run before sched2 if sched2 is
    run and split5 is run before shorten_branches if HAVE_ATTR_length and not
    STACK_REGS.

    2020-02-05  Jakub Jelinek  <ja...@redhat.com>

        PR target/92190
        * recog.c (pass_split_after_reload::gate): For STACK_REGS targets,
        don't run when !optimize.
        (pass_split_before_regstack::gate): For STACK_REGS targets, run even
        when !optimize.

Reply via email to