* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
@ 2021-03-31 10:30 ` acoplan at gcc dot gnu.org
2021-03-31 11:00 ` acoplan at gcc dot gnu.org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: acoplan at gcc dot gnu.org @ 2021-03-31 10:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|aarch64: ICE in |[8/9/10/11 Regression]
|rtx_addr_can_trap_p_1, at |aarch64: ICE in
|rtlanal.c:467 |rtx_addr_can_trap_p_1, at
| |rtlanal.c:467
Target|aarch64 |arm aarch64
--- Comment #1 from Alex Coplan <acoplan at gcc dot gnu.org> ---
ICEs started with GCC 8. GCC 7 accepts the code with a warning (warning:
dereferencing 'void *' pointer).
Clearly we should fix the ICE, but I'm wondering whether this code is actually
valid?
clang rejects it with "error: dereference of pointer to incomplete type 'void'"
x86-64 GCC rejects it with:
<source>:3:3: error: invalid use of void expression
3 | asm("" : "=Q"(*b));
| ^~~
<source>:3:3: error: invalid lvalue in 'asm' output 0
We also hit the same ICE with this testcase on AArch32, FWIW.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
2021-03-31 10:30 ` [Bug rtl-optimization/98601] [8/9/10/11 Regression] " acoplan at gcc dot gnu.org
@ 2021-03-31 11:00 ` acoplan at gcc dot gnu.org
2021-03-31 11:41 ` [Bug target/98601] " rguenth at gcc dot gnu.org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: acoplan at gcc dot gnu.org @ 2021-03-31 11:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |11.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
2021-03-31 10:30 ` [Bug rtl-optimization/98601] [8/9/10/11 Regression] " acoplan at gcc dot gnu.org
2021-03-31 11:00 ` acoplan at gcc dot gnu.org
@ 2021-03-31 11:41 ` rguenth at gcc dot gnu.org
2021-03-31 11:50 ` [Bug rtl-optimization/98601] " rguenth at gcc dot gnu.org
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-03-31 11:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|rtl-optimization |target
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note for 'm' constraints (*b) might be preferred over (*(non-void *)b), esp.
if used in address context.
The generic code rejects it on x86_64 here:
#1 0x0000000000a8c37c in build_asm_expr (loc=262658, string=<string_cst
0x7ffff66b00d8>,
outputs=<tree_list 0x7ffff669c9d8>, inputs=<tree 0x0>, clobbers=<tree 0x0>,
labels=<tree 0x0>,
simple=false, is_inline=false) at
/home/rguenther/src/gcc3/gcc/c/c-typeck.c:10669
10669 error_at (loc, "invalid use of void expression");
(gdb) l
10664 output = error_mark_node;
10665 if (!(!allows_reg && allows_mem)
10666 && output != error_mark_node
10667 && VOID_TYPE_P (TREE_TYPE (output)))
10668 {
10669 error_at (loc, "invalid use of void expression");
10670 output = error_mark_node;
but it looks like Q is a memory constraint on arm? If so then I don't see
why it should be invalid.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (2 preceding siblings ...)
2021-03-31 11:41 ` [Bug target/98601] " rguenth at gcc dot gnu.org
@ 2021-03-31 11:50 ` rguenth at gcc dot gnu.org
2021-03-31 12:51 ` acoplan at gcc dot gnu.org
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-03-31 11:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|target |rtl-optimization
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
For some reason we have
(insn 5 9 12 2 (set (mem (reg/v/f:DI 0 x0 [orig:92 b ] [92]) [0 *b_2(D)+0 A8])
(asm_operands ("") ("=Q") 0 []
[]
[] t.c:3)) "t.c":3:3 -1
(expr_list:REG_DEAD (reg/v/f:DI 0 x0 [orig:92 b ] [92])
(nil)))
on x86_64 we get (with a "=m" constraint):
(insn 6 3 12 2 (parallel [
(set (mem (reg:DI 5 di [83]) [0 *b_2(D)+0 A8])
(asm_operands ("") ("=m") 0 []
[]
[] t.c:2))
(clobber (reg:CC 17 flags))
]) "t.c":2:3 -1
(expr_list:REG_DEAD (reg:DI 5 di [83])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil))))
I suppose we could special-case the VOIDmode/unknown-size and make it
possibly trapping (conservatively so). I'm sure rejecting the code
will break existing code.
That said, I can't reproduce on x86_64. Target independent testcase
(still ICEs on aarch64):
void a(void *b) {
asm("" : "=m"(*b));
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (3 preceding siblings ...)
2021-03-31 11:50 ` [Bug rtl-optimization/98601] " rguenth at gcc dot gnu.org
@ 2021-03-31 12:51 ` acoplan at gcc dot gnu.org
2021-04-09 8:05 ` rguenth at gcc dot gnu.org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: acoplan at gcc dot gnu.org @ 2021-03-31 12:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2021-03-31
Keywords| |ice-on-valid-code
--- Comment #4 from Alex Coplan <acoplan at gcc dot gnu.org> ---
richi: thanks for the pointers. I agree it looks like this should be valid.
E.g. the very reasonable:
void foo(void *p)
{
asm volatile ("str xzr, %0" : "=Q"(*p));
}
gives:
foo:
str xzr, [x0]
ret
at -O2 on AArch64. (Dropping the volatile in this case reproduce the ICE.)
I bisected the ICE to r8-7484-g532c7a45847f3401e26fa2f07e52613891c80718:
commit 532c7a45847f3401e26fa2f07e52613891c80718
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri Mar 23 20:55:40 2018
re PR inline-asm/85022 (internal compiler error: in write_dependence_p, at
alias.c:3003)
PR inline-asm/85022
* emit-rtl.c (init_emit_regs): Indicate that VOIDmode MEMs don't
have
known size by default.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (4 preceding siblings ...)
2021-03-31 12:51 ` acoplan at gcc dot gnu.org
@ 2021-04-09 8:05 ` rguenth at gcc dot gnu.org
2021-04-09 9:16 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-09 8:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
Target Milestone|11.0 |8.5
Priority|P3 |P2
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (5 preceding siblings ...)
2021-04-09 8:05 ` rguenth at gcc dot gnu.org
@ 2021-04-09 9:16 ` jakub at gcc dot gnu.org
2021-04-09 9:28 ` jakub at gcc dot gnu.org
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-09 9:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
See https://gcc.gnu.org/legacy-ml/gcc-patches/2018-03/msg01277.html for more
details.
void
foo (void *p)
{
asm ("" : "=m" (*p));
}
ICEs even on x86_64-linux.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (6 preceding siblings ...)
2021-04-09 9:16 ` jakub at gcc dot gnu.org
@ 2021-04-09 9:28 ` jakub at gcc dot gnu.org
2021-04-10 10:47 ` cvs-commit at gcc dot gnu.org
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-09 9:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 50534
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50534&action=edit
gcc11-pr98601.patch
Untested fix.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10/11 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (7 preceding siblings ...)
2021-04-09 9:28 ` jakub at gcc dot gnu.org
@ 2021-04-10 10:47 ` cvs-commit at gcc dot gnu.org
2021-04-10 10:50 ` [Bug rtl-optimization/98601] [8/9/10 " jakub at gcc dot gnu.org
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-10 10:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:7a493fcd27d6a1af896c4f5ef4ab1e0afe8a839d
commit r11-8106-g7a493fcd27d6a1af896c4f5ef4ab1e0afe8a839d
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:46:09 2021 +0200
rtlanal: Another fix for VOIDmode MEMs [PR98601]
This is a sequel to the PR85022 changes, inline-asm can (unfortunately)
introduce VOIDmode MEMs and in PR85022 they have been changed so that
we don't pretend we know their size (as opposed to assuming they have
zero size).
This time we ICE in rtx_addr_can_trap_p_1 because it assumes that
all memory but BLKmode has known size. The patch just treats VOIDmode
MEMs like BLKmode in that regard. And, the STRICT_ALIGNMENT change
is needed because VOIDmode has GET_MODE_SIZE of 0 and we don't want to
check if something is a multiple of 0.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/98601
* rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT
unaligned_mems handle VOIDmode like BLKmode.
* gcc.dg/torture/pr98601.c: New test.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (8 preceding siblings ...)
2021-04-10 10:47 ` cvs-commit at gcc dot gnu.org
@ 2021-04-10 10:50 ` jakub at gcc dot gnu.org
2021-04-20 9:45 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-10 10:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[8/9/10/11 Regression] |[8/9/10 Regression]
|aarch64: ICE in |aarch64: ICE in
|rtx_addr_can_trap_p_1, at |rtx_addr_can_trap_p_1, at
|rtlanal.c:467 |rtlanal.c:467
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9/10 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (9 preceding siblings ...)
2021-04-10 10:50 ` [Bug rtl-optimization/98601] [8/9/10 " jakub at gcc dot gnu.org
@ 2021-04-20 9:45 ` cvs-commit at gcc dot gnu.org
2021-04-20 9:52 ` [Bug rtl-optimization/98601] [8/9 " jakub at gcc dot gnu.org
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-20 9:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:e68ac8c2b46997af1464f2549ac520a192c928b1
commit r10-9723-ge68ac8c2b46997af1464f2549ac520a192c928b1
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:46:09 2021 +0200
rtlanal: Another fix for VOIDmode MEMs [PR98601]
This is a sequel to the PR85022 changes, inline-asm can (unfortunately)
introduce VOIDmode MEMs and in PR85022 they have been changed so that
we don't pretend we know their size (as opposed to assuming they have
zero size).
This time we ICE in rtx_addr_can_trap_p_1 because it assumes that
all memory but BLKmode has known size. The patch just treats VOIDmode
MEMs like BLKmode in that regard. And, the STRICT_ALIGNMENT change
is needed because VOIDmode has GET_MODE_SIZE of 0 and we don't want to
check if something is a multiple of 0.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/98601
* rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT
unaligned_mems handle VOIDmode like BLKmode.
* gcc.dg/torture/pr98601.c: New test.
(cherry picked from commit 7a493fcd27d6a1af896c4f5ef4ab1e0afe8a839d)
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (10 preceding siblings ...)
2021-04-20 9:45 ` cvs-commit at gcc dot gnu.org
@ 2021-04-20 9:52 ` jakub at gcc dot gnu.org
2021-04-20 23:34 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-20 9:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[8/9/10 Regression] |[8/9 Regression] aarch64:
|aarch64: ICE in |ICE in
|rtx_addr_can_trap_p_1, at |rtx_addr_can_trap_p_1, at
|rtlanal.c:467 |rtlanal.c:467
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 10.4 too.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (11 preceding siblings ...)
2021-04-20 9:52 ` [Bug rtl-optimization/98601] [8/9 " jakub at gcc dot gnu.org
@ 2021-04-20 23:34 ` cvs-commit at gcc dot gnu.org
2021-04-22 16:52 ` cvs-commit at gcc dot gnu.org
2021-04-22 17:11 ` jakub at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-20 23:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:86e761b46de55532db35f257ea67071512804a58
commit r9-9442-g86e761b46de55532db35f257ea67071512804a58
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:46:09 2021 +0200
rtlanal: Another fix for VOIDmode MEMs [PR98601]
This is a sequel to the PR85022 changes, inline-asm can (unfortunately)
introduce VOIDmode MEMs and in PR85022 they have been changed so that
we don't pretend we know their size (as opposed to assuming they have
zero size).
This time we ICE in rtx_addr_can_trap_p_1 because it assumes that
all memory but BLKmode has known size. The patch just treats VOIDmode
MEMs like BLKmode in that regard. And, the STRICT_ALIGNMENT change
is needed because VOIDmode has GET_MODE_SIZE of 0 and we don't want to
check if something is a multiple of 0.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/98601
* rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT
unaligned_mems handle VOIDmode like BLKmode.
* gcc.dg/torture/pr98601.c: New test.
(cherry picked from commit e68ac8c2b46997af1464f2549ac520a192c928b1)
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (12 preceding siblings ...)
2021-04-20 23:34 ` cvs-commit at gcc dot gnu.org
@ 2021-04-22 16:52 ` cvs-commit at gcc dot gnu.org
2021-04-22 17:11 ` jakub at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-22 16:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:b7cac48e100fc70d361ce98be27f209659c4b0e9
commit r8-10905-gb7cac48e100fc70d361ce98be27f209659c4b0e9
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:46:09 2021 +0200
rtlanal: Another fix for VOIDmode MEMs [PR98601]
This is a sequel to the PR85022 changes, inline-asm can (unfortunately)
introduce VOIDmode MEMs and in PR85022 they have been changed so that
we don't pretend we know their size (as opposed to assuming they have
zero size).
This time we ICE in rtx_addr_can_trap_p_1 because it assumes that
all memory but BLKmode has known size. The patch just treats VOIDmode
MEMs like BLKmode in that regard. And, the STRICT_ALIGNMENT change
is needed because VOIDmode has GET_MODE_SIZE of 0 and we don't want to
check if something is a multiple of 0.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/98601
* rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT
unaligned_mems handle VOIDmode like BLKmode.
* gcc.dg/torture/pr98601.c: New test.
(cherry picked from commit e68ac8c2b46997af1464f2549ac520a192c928b1)
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/98601] [8/9 Regression] aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467
2021-01-08 13:08 [Bug rtl-optimization/98601] New: aarch64: ICE in rtx_addr_can_trap_p_1, at rtlanal.c:467 acoplan at gcc dot gnu.org
` (13 preceding siblings ...)
2021-04-22 16:52 ` cvs-commit at gcc dot gnu.org
@ 2021-04-22 17:11 ` jakub at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-22 17:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 16+ messages in thread