public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
@ 2021-01-21  9:07 marxin at gcc dot gnu.org
  2021-01-21  9:07 ` [Bug rtl-optimization/98777] " marxin at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-21  9:07 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 98777
           Summary: [11 Regression] ICE in update_equiv at
                    gcc/lra-constraints.c:504 since
                    r11-6819-g4334b52427420312
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: vmakarov at gcc dot gnu.org
  Target Milestone: ---

I see the following ICE with:

$ gcc
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse4_1-set-v16qi-1.c
-m32 --param=max-iterations-to-track=1000 --param=max-completely-peeled-insns=0
-Ofast -funroll-loops -fno-forward-propagate -fsanitize=undefined
-fno-peel-loops -fno-isolate-erroneous-paths-dereference -Winvalid-pch
--param=hwasan-instrument-allocas=1 --param=max-delay-slot-insn-search=0
-fno-ivopts --param=modref-max-accesses=1542230368 -c

during RTL pass: reload
In file included from
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse4_1-check.h:4,
                 from
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/set-v16qi-1.h:5,
                 from
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse4_1-set-v16qi-1.c:8:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/m128-check.h: In
function ‘check_union128i_b’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/m128-check.h:96:1:
internal compiler error: Segmentation fault
   96 | }
      | ^
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/m128-check.h:99:1:
note: in expansion of macro ‘CHECK_EXP’
   99 | CHECK_EXP (union128i_b, char, "%d")
      | ^~~~~~~~~
0xe6ec5a crash_signal
        /home/marxin/Programming/gcc/gcc/toplev.c:327
0xe5242a simplify_replace_fn_rtx(rtx_def*, rtx_def const*, rtx_def*
(*)(rtx_def*, rtx_def const*, void*), void*)
        /home/marxin/Programming/gcc/gcc/simplify-rtx.c:515
0xcd93bb update_equiv
        /home/marxin/Programming/gcc/gcc/lra-constraints.c:504
0xcd93bb lra_constraints(bool)
        /home/marxin/Programming/gcc/gcc/lra-constraints.c:5035
0xcc559f lra(_IO_FILE*)
        /home/marxin/Programming/gcc/gcc/lra.c:2332
0xc7e3c4 do_reload
        /home/marxin/Programming/gcc/gcc/ira.c:5821
0xc7e3c4 execute
        /home/marxin/Programming/gcc/gcc/ira.c:6007

or one can see it with riscv64 cross compiler for the following test-case:

$ cat struct-by-value.i
typedef struct {
  _Complex e;
  _Complex f;
  _Complex g;
  _Complex h;
  _Complex i;
  _Complex j;
  _Complex k;
  _Complex l;
  _Complex m;
  _Complex n;
  _Complex o;
  _Complex p;
} Scl16;

Scl16 g1sScl16, g2sScl16, g3sScl16, g4sScl16, g5sScl16, g6sScl16, g7sScl16,
    g8sScl16, g9sScl16, g10sScl16, g11sScl16, g12sScl16, g13sScl16, g14sScl16,
    g15sScl16, g16sScl16;

void testvaScl16();

void
testitScl16() {
  testvaScl16(g10sScl16, g11sScl16, g12sScl16, g13sScl16, g14sScl16, g1sScl16,
              g2sScl16, g3sScl16, g4sScl16, g5sScl16, g6sScl16, g7sScl16,
              g8sScl16, g9sScl16, g10sScl16, g11sScl16, g12sScl16, g13sScl16,
              g14sScl16, g15sScl16, g16sScl16);
}

$ ~/BIG/bin/riscv64/dev/shm/buildbot/install/gcc/bin/riscv64-linux-gnu-gcc
struct-by-value.i -fstrict-aliasing -O -c
during RTL pass: reload
struct-by-value.i: In function ‘testitScl16’:
struct-by-value.i:28:1: internal compiler error: Segmentation fault
   28 | }
      | ^
0xafe90f crash_signal
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/toplev.c:327
0xaea4b7 simplify_replace_fn_rtx(rtx_def*, rtx_def const*, rtx_def*
(*)(rtx_def*, rtx_def const*, void*), void*)
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/simplify-rtx.c:408
0x9a9348 update_equiv
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/lra-constraints.c:504
0x9a9348 lra_constraints(bool)
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/lra-constraints.c:5035
0x997d62 lra(_IO_FILE*)
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/lra.c:2332
0x955f81 do_reload
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/ira.c:5821
0x955f81 execute
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/ira.c:6007
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
@ 2021-01-21  9:07 ` marxin at gcc dot gnu.org
  2021-01-21 21:12 ` vmakarov at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-21  9:07 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
      Known to fail|                            |11.0
     Ever confirmed|0                           |1
   Target Milestone|---                         |11.0
           Priority|P3                          |P1
   Last reconfirmed|                            |2021-01-21
      Known to work|                            |10.2.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
  2021-01-21  9:07 ` [Bug rtl-optimization/98777] " marxin at gcc dot gnu.org
@ 2021-01-21 21:12 ` vmakarov at gcc dot gnu.org
  2021-01-21 23:07 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2021-01-21 21:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
Thank you for reporting this. I've reproduced the bug on riscv64 and started to
work on fixing it.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
  2021-01-21  9:07 ` [Bug rtl-optimization/98777] " marxin at gcc dot gnu.org
  2021-01-21 21:12 ` vmakarov at gcc dot gnu.org
@ 2021-01-21 23:07 ` cvs-commit at gcc dot gnu.org
  2021-01-22 10:34 ` marxin at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-21 23:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vladimir Makarov <vmakarov@gcc.gnu.org>:

https://gcc.gnu.org/g:68ba1039c7daf0485b167fe199ed7e8031158091

commit r11-6844-g68ba1039c7daf0485b167fe199ed7e8031158091
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date:   Thu Jan 21 17:27:01 2021 -0500

    [PR98777] LRA: Use preliminary created pseudo for in LRA elimination
subpass

    LRA did not extend ira_reg_equiv after generation of a pseudo in
    eliminate_regs_in_insn which might results in LRA crash.  It is better not
    to extend ira_reg_equiv but to use preliminary generated pseudo.  The
    patch implements it.

    gcc/ChangeLog:

            PR rtl-optimization/98777
            * lra-int.h (lra_pmode_pseudo): New extern.
            * lra.c (lra_pmode_pseudo): New global.
            (lra): Set it up.
            * lra-eliminations.c (eliminate_regs_in_insn): Use it.

    gcc/testsuite/ChangeLog:

            PR rtl-optimization/98777
            * gcc.target/riscv/pr98777.c: New.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-01-21 23:07 ` cvs-commit at gcc dot gnu.org
@ 2021-01-22 10:34 ` marxin at gcc dot gnu.org
  2021-02-15 21:27 ` bergner at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-22 10:34 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fw at gcc dot gnu.org

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
*** Bug 98788 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-01-22 10:34 ` marxin at gcc dot gnu.org
@ 2021-02-15 21:27 ` bergner at gcc dot gnu.org
  2021-02-16 14:37 ` vmakarov at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: bergner at gcc dot gnu.org @ 2021-02-15 21:27 UTC (permalink / raw)
  To: gcc-bugs

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

Peter Bergner <bergner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bergner at gcc dot gnu.org

--- Comment #4 from Peter Bergner <bergner at gcc dot gnu.org> ---
Vlad, is this fixed now and we can close it?  It's marked as a P1, so would be
nice to close if fixed.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-02-15 21:27 ` bergner at gcc dot gnu.org
@ 2021-02-16 14:37 ` vmakarov at gcc dot gnu.org
  2021-02-16 14:59 ` jakub at gcc dot gnu.org
  2021-06-02 22:26 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2021-02-16 14:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Peter Bergner from comment #4)
> Vlad, is this fixed now and we can close it?  It's marked as a P1, so would
> be nice to close if fixed.

I believe it is fixed and we could close the PR but I think a reporter (or
release manager) should do this.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-02-16 14:37 ` vmakarov at gcc dot gnu.org
@ 2021-02-16 14:59 ` jakub at gcc dot gnu.org
  2021-06-02 22:26 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-02-16 14:59 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |jakub at gcc dot gnu.org
         Resolution|---                         |FIXED

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/98777] [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312
  2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-02-16 14:59 ` jakub at gcc dot gnu.org
@ 2021-06-02 22:26 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-06-02 22:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Przemyslaw Wirkus
<wirkus@gcc.gnu.org>:

https://gcc.gnu.org/g:05f6971ac40912ef062915f88b3ea0bf27278285

commit r10-9882-g05f6971ac40912ef062915f88b3ea0bf27278285
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date:   Thu Jan 21 17:27:01 2021 -0500

    [PR98777] LRA: Use preliminary created pseudo for in LRA elimination
subpass

    LRA did not extend ira_reg_equiv after generation of a pseudo in
    eliminate_regs_in_insn which might results in LRA crash.  It is better not
    to extend ira_reg_equiv but to use preliminary generated pseudo.  The
    patch implements it.

    gcc/ChangeLog:

            PR rtl-optimization/98777
            * lra-int.h (lra_pmode_pseudo): New extern.
            * lra.c (lra_pmode_pseudo): New global.
            (lra): Set it up.
            * lra-eliminations.c (eliminate_regs_in_insn): Use it.

    gcc/testsuite/ChangeLog:

            PR rtl-optimization/98777
            * gcc.target/riscv/pr98777.c: New.

    (cherry picked from commit 68ba1039c7daf0485b167fe199ed7e8031158091)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-06-02 22:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-21  9:07 [Bug rtl-optimization/98777] New: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 marxin at gcc dot gnu.org
2021-01-21  9:07 ` [Bug rtl-optimization/98777] " marxin at gcc dot gnu.org
2021-01-21 21:12 ` vmakarov at gcc dot gnu.org
2021-01-21 23:07 ` cvs-commit at gcc dot gnu.org
2021-01-22 10:34 ` marxin at gcc dot gnu.org
2021-02-15 21:27 ` bergner at gcc dot gnu.org
2021-02-16 14:37 ` vmakarov at gcc dot gnu.org
2021-02-16 14:59 ` jakub at gcc dot gnu.org
2021-06-02 22:26 ` cvs-commit at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).