--- Comment #25 from dberlin at gcc dot gnu dot org 2006-05-03 14:15
---
Subject: Re: [4.2 Regression] ICE in in
add_virtual_operand
On Wed, 2006-05-03 at 13:02 +, mueller at gcc dot gnu dot org wrote:
>
> --- Comment #24 from mueller at gcc dot gnu dot org 2006-05-0
--- Comment #24 from mueller at gcc dot gnu dot org 2006-05-03 13:02
---
closing as fixed then. Thanks !
--
mueller at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #23 from dberlin at gcc dot gnu dot org 2006-05-03 03:19
---
Subject: Bug 26626
Author: dberlin
Date: Wed May 3 03:19:22 2006
New Revision: 113493
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113493
Log:
2006-05-02 Daniel Berlin <[EMAIL PROTECTED]>
Fix
--- Comment #21 from dberlin at gcc dot gnu dot org 2006-04-28 18:26
---
Subject: Bug 26626
Try this patch, it should work :)
--- Comment #22 from dberlin at gcc dot gnu dot org 2006-04-28 18:26
---
Created an attachment (id=11345)
--> (http://gcc.gnu.org/bugzilla/attachme
--- Comment #20 from rguenth at gcc dot gnu dot org 2006-04-27 17:08
---
Happens with -O -quiet t.c -dumpbase t.c -fdump-tree-alias1-vops
-fstrict-aliasing -fno-tree-fre -fno-tree-ccp -fdump-tree-all -fno-tree-dce
-fno-tree-copyrename -fno-tree-salias and manually disabled forwprop.
S
--- Comment #19 from rguenth at gcc dot gnu dot org 2006-04-27 16:56
---
This one ICEs the same way, already during the first copyprop pass:
typedef union {
int d;
} U;
int rv;
void breakme()
{
U *rv0;
U *pretmp = (U*)&rv;
rv0 = pretmp;
rv0->d = 42;
}
--
http:
--- Comment #18 from dberlin at gcc dot gnu dot org 2006-04-27 16:55
---
Subject: Re: [4.2 Regression] ICE in in
add_virtual_operand
On Thu, 2006-04-27 at 16:43 +, rguenth at gcc dot gnu dot org wrote:
>
> --- Comment #17 from rguenth at gcc dot gnu dot org 2006-04-2
--- Comment #17 from rguenth at gcc dot gnu dot org 2006-04-27 16:43
---
As followup to comment #9, copyprop propagates pretmp.23_2 into rv.0_1->d, and
in
may_propagate_copy we see that rv.0_1 has both an SMT and NMT associated with,
while pretmp.23_2 has none of the two.
--
http:/
--- Comment #16 from dberlin at gcc dot gnu dot org 2006-04-27 15:39
---
Subject: Re: [4.2 Regression] ICE in in
add_virtual_operand
> What's the status on this? It makes libgfortran build crash with a patch I'd
> like to submit.
Uh, okay, so, until someone debugs the other
--- Comment #15 from fxcoudert at gcc dot gnu dot org 2006-04-27 13:14
---
(In reply to comment #11)
> The only solution in these cases it to remove the assert and let it
> generate bad code, but I want to fix other issues first before removing
> the assert.
What's the status on this?
--- Comment #14 from pinskia at gcc dot gnu dot org 2006-04-10 16:35
---
*** Bug 27085 has been marked as a duplicate of this bug. ***
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #13 from fxcoudert at gcc dot gnu dot org 2006-04-02 13:09
---
Created an attachment (id=11185)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11185&action=view)
Preprocessed source also causing the problem
Humpf, this ICE (same backtrace) also happens when building li
--- Comment #12 from mueller at gcc dot gnu dot org 2006-03-13 16:56
---
ah, I see. I'm fine with working around the ICE locally and let you guys figure
out how to fix the actual cause :)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26626
--- Comment #11 from dberlin at gcc dot gnu dot org 2006-03-13 16:52
---
Subject: Re: [4.2 Regression] ICE in in
add_virtual_operand
On Mon, 2006-03-13 at 16:17 +, mueller at gcc dot gnu dot org wrote:
>
> --- Comment #10 from mueller at gcc dot gnu dot org 2006-03-1
--- Comment #10 from mueller at gcc dot gnu dot org 2006-03-13 16:17
---
it looks to me that this commit exposed/introduced the ICE:
r111300 | dberlin | 2006-02-20 14:38:01 +0100 (Mon, 20 Feb 2006) | 22 lines
Changed paths:
M /trunk/gcc/ChangeLog
M /trunk/gcc/passes.c
M /trun
--- Comment #9 from rguenth at gcc dot gnu dot org 2006-03-10 11:10 ---
:;
pretmp.23_2 = (union U *) &rv;
# NMT.6_4 = PHI ;
ovfl:;
rv.0_1 = pretmp.23_2;
# NMT.6_6 = V_MAY_DEF ;
rv.0_1->d = 42;
# VUSE ;
D.1529_3 = rv.0_1->L;
if (D.1529_3 != 0) goto ; else goto ;
:;
--- Comment #8 from mueller at gcc dot gnu dot org 2006-03-10 10:51 ---
shorter testcase:
=== Cut ===
typedef union {
int d;
int L;
} U;
void breakme()
{
int rv;
ovfl:
((U*)&rv)->d = 42;
if (((U*)&rv)->L)
goto ovfl;
}
=== Cut ===
--
http://gcc.gnu.org/
--- Comment #7 from rguenth at gcc dot gnu dot org 2006-03-10 10:40 ---
The testcase is also full of problems itself... - changing rv to a type with
the size of U, we no longer ICE. Also -fno-strict-aliasing fixes the ICE.
I'm curious on how the original code looks like before reductio
--- Comment #6 from dberlin at gcc dot gnu dot org 2006-03-10 00:39 ---
Subject: Re: [4.2 Regression] ICE in in
add_virtual_operand
On Thu, 2006-03-09 at 23:58 +, pinskia at gcc dot gnu dot org wrote:
>
> --- Comment #5 from pinskia at gcc dot gnu dot org 2006-03-09 2
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-03-09 23:58 ---
Forgot to say we also get the following NOTEs in the copyprop dump:
NOTE: no flow-sensitive alias info for rv.0_2 in # VUSE ;
D.2364_4 = rv.0_2->d;
NOTE: no flow-sensitive alias info for rv.0_2 in # VUSE ;
D.2364
--- Comment #4 from dberlin at gcc dot gnu dot org 2006-03-09 23:31 ---
Subject: Re: [4.2 Regression] ICE in in
add_virtual_operand
On Thu, 2006-03-09 at 22:54 +, pinskia at gcc dot gnu dot org wrote:
>
> --- Comment #3 from pinskia at gcc dot gnu dot org 2006-03-09 2
On Thu, 2006-03-09 at 22:54 +, pinskia at gcc dot gnu dot org wrote:
>
> --- Comment #3 from pinskia at gcc dot gnu dot org 2006-03-09 22:54
> ---
> The difference between copyprop and before is the following.
> Before:
> rv.0_3 = rv.0_2;
> # VUSE ;
> D.1900_4 = rv.0_3->d;
>
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-03-09 22:54 ---
The difference between copyprop and before is the following.
Before:
rv.0_3 = rv.0_2;
# VUSE ;
D.1900_4 = rv.0_3->d;
After:
rv.0_3 = rv.0_2;
# VUSE ;
D.1900_4 = rv.0_2->d;
--
http://gcc.gnu.org/bugzil
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-03-09 22:52 ---
Removing "throw ()" will also cause the code to be ICE'd and also with the C
front-end now too.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
24 matches
Mail list logo