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

--- Comment #13 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:d88e2cb54914cf8aa0ae68ca75dc45237acfcef0

commit r11-5972-gd88e2cb54914cf8aa0ae68ca75dc45237acfcef0
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Sun Dec 13 17:08:08 2020 +0100

    varasm: Reject soft frame or arg pointer registers for register vars
[PR92469]

    The following patch rejects frame, argp and retarg registers (unless they
are equal
    to hard frame pointer registers or if they aren't eliminable) from local or
global
    register vars.
    These are just internal implementation details eliminated later into hard
    frame pointer or stack pointer and using them as register variable leads
    to numerous ICEs.

    2020-12-13  Jakub Jelinek  <ja...@redhat.com>

            PR target/92469
            * varasm.c (eliminable_regno_p): New function.
            (make_decl_rtl): Reject asm vars for frame and argp
            if they are different from hard frame pointer.

            * gcc.target/i386/pr92469.c: New test.
            * gcc.target/i386/pr79804.c: Adjust expected diagnostics.
            * gcc.target/i386/pr88178.c: Expect an error.

Reply via email to