public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/94605] New: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms
@ 2020-04-15 10:32 rsandifo at gcc dot gnu.org
  2020-04-15 10:33 ` [Bug rtl-optimization/94605] " rsandifo at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2020-04-15 10:32 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 94605
           Summary: [8/9/10 Regression] ICE in early-remat.c:process_block
                    with multi-output asms
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rsandifo at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64*-*-*

Compiling the following testcase with -O2 -march=armv8.2-a+sve:

typedef int v8si __attribute__((vector_size(32)));
int g (v8si, v8si);

void
f (void)
{
  v8si x = {}, y = {};
  while (g (x, y))
    asm ("" : "+w" (x), "+w" (y));
}

triggers:

internal compiler error: in process_block, at early-remat.c:2051

This is because process_block doesn't handle insns that set
multiple candidate registers.

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

* [Bug rtl-optimization/94605] [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms
  2020-04-15 10:32 [Bug rtl-optimization/94605] New: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms rsandifo at gcc dot gnu.org
@ 2020-04-15 10:33 ` rsandifo at gcc dot gnu.org
  2020-04-16 12:06 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2020-04-15 10:33 UTC (permalink / raw)
  To: gcc-bugs

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

rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |rsandifo at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
   Target Milestone|---                         |8.4
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-04-15

--- Comment #1 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Have a patch.

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

* [Bug rtl-optimization/94605] [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms
  2020-04-15 10:32 [Bug rtl-optimization/94605] New: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms rsandifo at gcc dot gnu.org
  2020-04-15 10:33 ` [Bug rtl-optimization/94605] " rsandifo at gcc dot gnu.org
@ 2020-04-16 12:06 ` cvs-commit at gcc dot gnu.org
  2020-08-07  9:40 ` [Bug rtl-optimization/94605] [8/9 " cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-16 12:06 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:3c3f12e2a7625c9a2f5d74a47dbacb2fd1ae5643

commit r10-7755-g3c3f12e2a7625c9a2f5d74a47dbacb2fd1ae5643
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Apr 15 11:38:24 2020 +0100

    early-remat: Handle sets of multiple candidate regs [PR94605]

    early-remat.c:process_block wasn't handling insns that set multiple
    candidate registers, which led to an assertion failure at the end
    of the main loop.

    Instructions that set two pseudos aren't rematerialisation candidates in
    themselves, but we still need to track them if another instruction that
    sets the same register is a rematerialisation candidate.

    2020-04-16  Richard Sandiford  <richard.sandiford@arm.com>

    gcc/
            PR rtl-optimization/94605
            * early-remat.c (early_remat::process_block): Handle insns that
            set multiple candidate registers.

    gcc/testsuite/
            PR rtl-optimization/94605
            * gcc.target/aarch64/sve/pr94605.c: New test.

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

* [Bug rtl-optimization/94605] [8/9 Regression] ICE in early-remat.c:process_block with multi-output asms
  2020-04-15 10:32 [Bug rtl-optimization/94605] New: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms rsandifo at gcc dot gnu.org
  2020-04-15 10:33 ` [Bug rtl-optimization/94605] " rsandifo at gcc dot gnu.org
  2020-04-16 12:06 ` cvs-commit at gcc dot gnu.org
@ 2020-08-07  9:40 ` cvs-commit at gcc dot gnu.org
  2021-04-26  8:37 ` [Bug rtl-optimization/94605] [8 " cvs-commit at gcc dot gnu.org
  2021-04-26  8:37 ` rsandifo at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-08-07  9:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Richard Sandiford
<rsandifo@gcc.gnu.org>:

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

commit r9-8790-gcdb0af30f73923ec4355ecd5c294b7a026bb4aa4
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Fri Aug 7 10:39:39 2020 +0100

    early-remat: Handle sets of multiple candidate regs [PR94605]

    early-remat.c:process_block wasn't handling insns that set multiple
    candidate registers, which led to an assertion failure at the end
    of the main loop.

    Instructions that set two pseudos aren't rematerialisation candidates in
    themselves, but we still need to track them if another instruction that
    sets the same register is a rematerialisation candidate.

    gcc/
            PR rtl-optimization/94605
            * early-remat.c (early_remat::process_block): Handle insns that
            set multiple candidate registers.

    gcc/testsuite/
            PR rtl-optimization/94605
            * gcc.target/aarch64/sve/pr94605.c: New test.

    (cherry picked from commit 3c3f12e2a7625c9a2f5d74a47dbacb2fd1ae5643)

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

* [Bug rtl-optimization/94605] [8 Regression] ICE in early-remat.c:process_block with multi-output asms
  2020-04-15 10:32 [Bug rtl-optimization/94605] New: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms rsandifo at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-08-07  9:40 ` [Bug rtl-optimization/94605] [8/9 " cvs-commit at gcc dot gnu.org
@ 2021-04-26  8:37 ` cvs-commit at gcc dot gnu.org
  2021-04-26  8:37 ` rsandifo at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-26  8:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Richard Sandiford
<rsandifo@gcc.gnu.org>:

https://gcc.gnu.org/g:18dd25a17d30bc9038b5693fdd664b3b1f340cf3

commit r8-10917-g18dd25a17d30bc9038b5693fdd664b3b1f340cf3
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Mon Apr 26 09:36:47 2021 +0100

    early-remat: Handle sets of multiple candidate regs [PR94605]

    early-remat.c:process_block wasn't handling insns that set multiple
    candidate registers, which led to an assertion failure at the end
    of the main loop.

    Instructions that set two pseudos aren't rematerialisation candidates in
    themselves, but we still need to track them if another instruction that
    sets the same register is a rematerialisation candidate.

    gcc/
            PR rtl-optimization/94605
            * early-remat.c (early_remat::process_block): Handle insns that
            set multiple candidate registers.

    gcc/testsuite/
            PR rtl-optimization/94605
            * gcc.target/aarch64/sve/pr94605.c: New test.

    (cherry picked from commit 3c3f12e2a7625c9a2f5d74a47dbacb2fd1ae5643)

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

* [Bug rtl-optimization/94605] [8 Regression] ICE in early-remat.c:process_block with multi-output asms
  2020-04-15 10:32 [Bug rtl-optimization/94605] New: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms rsandifo at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-04-26  8:37 ` [Bug rtl-optimization/94605] [8 " cvs-commit at gcc dot gnu.org
@ 2021-04-26  8:37 ` rsandifo at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2021-04-26  8:37 UTC (permalink / raw)
  To: gcc-bugs

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

rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #5 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Fixed.

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

end of thread, other threads:[~2021-04-26  8:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-15 10:32 [Bug rtl-optimization/94605] New: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms rsandifo at gcc dot gnu.org
2020-04-15 10:33 ` [Bug rtl-optimization/94605] " rsandifo at gcc dot gnu.org
2020-04-16 12:06 ` cvs-commit at gcc dot gnu.org
2020-08-07  9:40 ` [Bug rtl-optimization/94605] [8/9 " cvs-commit at gcc dot gnu.org
2021-04-26  8:37 ` [Bug rtl-optimization/94605] [8 " cvs-commit at gcc dot gnu.org
2021-04-26  8:37 ` rsandifo 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).