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