* [Bug c/16586] gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
@ 2004-07-16 7:11 ` ned at bike-nomad dot com
2004-07-16 7:32 ` [Bug rtl-optimization/16586] [3.3 Regression] " pinskia at gcc dot gnu dot org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ned at bike-nomad dot com @ 2004-07-16 7:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From ned at bike-nomad dot com 2004-07-16 07:11 -------
Created an attachment (id=6764)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6764&action=view)
preprocessed source
produced with Linux 3.3.4 compiler.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
2004-07-16 7:11 ` [Bug c/16586] " ned at bike-nomad dot com
@ 2004-07-16 7:32 ` pinskia at gcc dot gnu dot org
2004-07-16 11:04 ` gdr at gcc dot gnu dot org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-16 7:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-07-16 07:32 -------
It is fixed in 3.4.0 but worked in 3.0.4 so this is a regression.
I have not reduced the testcase yet.
--
What |Removed |Added
----------------------------------------------------------------------------
Component|c |rtl-optimization
Keywords| |ice-on-valid-code
Known to fail| |3.2.3 3.3.3
Known to work| |3.4.0 3.5.0 3.0.4
Summary|gcc 3.3.3/3.3.4 -O3 -fno- |[3.3 Regression] -O3 -fno-
|gcse ICE |gcse ICE
|verify_local_live_at_start |verify_local_live_at_start
|flow.c:575 |flow.c:575
Target Milestone|--- |3.3.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
2004-07-16 7:11 ` [Bug c/16586] " ned at bike-nomad dot com
2004-07-16 7:32 ` [Bug rtl-optimization/16586] [3.3 Regression] " pinskia at gcc dot gnu dot org
@ 2004-07-16 11:04 ` gdr at gcc dot gnu dot org
2004-07-16 13:38 ` [Bug rtl-optimization/16586] [3.3/3.4 " bangerth at dealii dot org
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: gdr at gcc dot gnu dot org @ 2004-07-16 11:04 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |gdr at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (2 preceding siblings ...)
2004-07-16 11:04 ` gdr at gcc dot gnu dot org
@ 2004-07-16 13:38 ` bangerth at dealii dot org
2004-07-28 20:43 ` pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: bangerth at dealii dot org @ 2004-07-16 13:38 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-07-16 13:38 -------
Confirmed. In fact, with the following snippet I can also crash 3.4, so
it doesn't seem to be fixed there but only papered over:
----------------
struct Ptrs {
int (*ptr1)(int offset);
int (*ptr2)();
} * ptrs;
static int ** state;
int foo(int stackIndex) {
int *p;
int sz;
int objOop;
int i;
int **pp;
ptrs->ptr1(stackIndex);
if (ptrs->ptr2()) {
return 0;
}
if (!((ptrs->ptr2()) == 0)) {
return 0;
}
sz = ptrs->ptr2();
if (sz > 1)
return 0;
pp = state;
for (i = 0; i <= sz-1; ++i) {
objOop = ptrs->ptr1(0);
if (!ptrs->ptr2())
return 0;
*p = objOop;
pp[i] = p;
}
}
--------------------------
g/x> /home/bangerth/bin/gcc-3.3.4-pre/bin/gcc -O3 -c -fno-gcse x.i
x.i: In function `foo':
x.i:33: internal compiler error: in verify_local_live_at_start, at flow.c:575
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
g/x>
g/x> /home/bangerth/bin/gcc-3.4-pre/bin/gcc -O3 -c -fno-gcse x.i
x.i: In function `foo':
x.i:33: internal compiler error: in verify_local_live_at_start, at flow.c:546
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
W.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Known to work|3.4.0 3.5.0 3.0.4 |3.5.0 3.0.4
Last reconfirmed|0000-00-00 00:00:00 |2004-07-16 13:38:19
date| |
Summary|[3.3 Regression] -O3 -fno- |[3.3/3.4 Regression] -O3 -
|gcse ICE |fno-gcse ICE
|verify_local_live_at_start |verify_local_live_at_start
|flow.c:575 |flow.c:575
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (3 preceding siblings ...)
2004-07-16 13:38 ` [Bug rtl-optimization/16586] [3.3/3.4 " bangerth at dealii dot org
@ 2004-07-28 20:43 ` pinskia at gcc dot gnu dot org
2004-08-16 14:23 ` reichelt at gcc dot gnu dot org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-28 20:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-07-28 20:43 -------
: Test is the same (pass) at both endpoints (2004-02-01-3.4,
: 2004-07-27-3.4), so there's nothing for me to do.
Broken on the mainline:
: Search converges between 2001-06-03-trunk (#22) and 2001-06-10-trunk (#23).
Fixed on the mainline:
: Search converges between 2003-06-04-trunk (#254) and 2003-06-05-trunk (#255).
So in my testing (on Phil's regression hunter) this is only a 3.3 regression but this was without -
march=pentiumpro which is what fixed it without using the driver (or something like that)
With using -march=pentiumpro:
: Search converges between 2004-04-20-trunk (#449) and 2004-05-01-trunk (#450).
This might still a bug on the mainline also but harder to get to as we get rid of some code before
going into the RTL.
Moving the target to 3.4.2 per what Gaby said about regressions that are on both 3.3.x and 3.4.x.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.3.5 |3.4.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (4 preceding siblings ...)
2004-07-28 20:43 ` pinskia at gcc dot gnu dot org
@ 2004-08-16 14:23 ` reichelt at gcc dot gnu dot org
2004-08-29 18:11 ` mmitchel at gcc dot gnu dot org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-16 14:23 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-08-16 14:23 -------
Here's a slightly shorter testcase. It crashes everything from 3.1 until
3.4 branch.
======================================
int (**foo)(int);
int bar()
{
static int **s;
int i, j, k=i, **p;
(*foo)(**s);
if ((*foo)(0)) return 0;
if (k > 0) return 0;
p = s;
for (i = 0; i <= k-1; ++i)
{
j = (*foo)(0);
if ((*foo)(0)) return 0;
**p = j;
}
}
======================================
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |reichelt at gcc dot gnu dot
| |org
Keywords| |monitored
Known to fail|3.2.3 3.3.3 3.4.0 |3.1 3.2.3 3.3.3 3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (5 preceding siblings ...)
2004-08-16 14:23 ` reichelt at gcc dot gnu dot org
@ 2004-08-29 18:11 ` mmitchel at gcc dot gnu dot org
2004-08-29 18:25 ` mmitchel at gcc dot gnu dot org
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-29 18:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-08-29 18:11 -------
Postponed until GCC 3.4.3.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (6 preceding siblings ...)
2004-08-29 18:11 ` mmitchel at gcc dot gnu dot org
@ 2004-08-29 18:25 ` mmitchel at gcc dot gnu dot org
2004-09-10 15:08 ` [Bug rtl-optimization/16586] [3.3 " reichelt at gcc dot gnu dot org
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-29 18:25 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-08-29 18:14 -------
Postponed until GCC 3.4.3.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.2 |3.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (7 preceding siblings ...)
2004-08-29 18:25 ` mmitchel at gcc dot gnu dot org
@ 2004-09-10 15:08 ` reichelt at gcc dot gnu dot org
2004-09-10 19:18 ` rth at gcc dot gnu dot org
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-09-10 15:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-09-10 15:08 -------
The testcases in comment #3 and #5 got fixed on the 3.4 branch by
Richard's patch for PR 17186:
http://gcc.gnu.org/ml/gcc-cvs/2004-09/msg00357.html
Richard, do you think a backport to the 3.3 branch is feasible?
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rth at gcc dot gnu dot org
Severity|normal |critical
Known to work|4.0 3.0.4 |4.0.0 3.0.4
Summary|[3.3/3.4 Regression] -O3 - |[3.3 Regression] -O3 -fno-
|fno-gcse ICE |gcse ICE
|verify_local_live_at_start |verify_local_live_at_start
|flow.c:575 |flow.c:575
Target Milestone|3.4.3 |3.3.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (8 preceding siblings ...)
2004-09-10 15:08 ` [Bug rtl-optimization/16586] [3.3 " reichelt at gcc dot gnu dot org
@ 2004-09-10 19:18 ` rth at gcc dot gnu dot org
2004-09-16 14:12 ` [Bug rtl-optimization/16586] [3.3/3.4 " reichelt at gcc dot gnu dot org
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2004-09-10 19:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2004-09-10 19:18 -------
It wouldn't be hard to backport to 3.3, no.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (9 preceding siblings ...)
2004-09-10 19:18 ` rth at gcc dot gnu dot org
@ 2004-09-16 14:12 ` reichelt at gcc dot gnu dot org
2004-11-01 0:46 ` mmitchel at gcc dot gnu dot org
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-09-16 14:12 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-09-16 14:11 -------
Since Richard reverted his patch for PR 17186 on the 3.4 branch,
this PR fails on the 3.4 branch again, too.
In addition, comment #9 is moot now.
--
What |Removed |Added
----------------------------------------------------------------------------
Known to fail|3.1 3.2.3 3.3.3 3.4.0 |3.1 3.2.3 3.3.3 3.4.0 3.4.2
Summary|[3.3 Regression] -O3 -fno- |[3.3/3.4 Regression] -O3 -
|gcse ICE |fno-gcse ICE
|verify_local_live_at_start |verify_local_live_at_start
|flow.c:575 |flow.c:575
Target Milestone|3.3.5 |3.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (10 preceding siblings ...)
2004-09-16 14:12 ` [Bug rtl-optimization/16586] [3.3/3.4 " reichelt at gcc dot gnu dot org
@ 2004-11-01 0:46 ` mmitchel at gcc dot gnu dot org
2004-12-02 7:11 ` ebotcazou at gcc dot gnu dot org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-11-01 0:46 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-11-01 00:46 -------
Postponed until GCC 3.4.4.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.3 |3.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (11 preceding siblings ...)
2004-11-01 0:46 ` mmitchel at gcc dot gnu dot org
@ 2004-12-02 7:11 ` ebotcazou at gcc dot gnu dot org
2004-12-05 9:39 ` ebotcazou at gcc dot gnu dot org
2005-05-19 17:48 ` mmitchel at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2004-12-02 7:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-12-02 07:11 -------
This one is really tricky to fix: this is the classical case in which the return
value register's liveness propagates backwards until an unrelated use/clobber of
the register is encountered. This works more or less until the regrename pass,
which locally renames the register in the latter def/use/clobber chain; so the
return value register's liveness is not masked anymore and propagates back to
the start of the basic block. But, after reload, register liveness information
is not allowed to change at basic block boundaries so the compiler aborts on a
sanity check.
The easy workaround is to make sure that every code path in a function returning
a value really returns a value.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (12 preceding siblings ...)
2004-12-02 7:11 ` ebotcazou at gcc dot gnu dot org
@ 2004-12-05 9:39 ` ebotcazou at gcc dot gnu dot org
2005-05-19 17:48 ` mmitchel at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2004-12-05 9:39 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-12-05 09:38 -------
Downgrading to 'normal', this is an ICE whose workaround is obvious.
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug rtl-optimization/16586] [3.3/3.4 Regression] -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575
2004-07-16 7:10 [Bug c/16586] New: gcc 3.3.3/3.3.4 -O3 -fno-gcse ICE verify_local_live_at_start flow.c:575 ned at bike-nomad dot com
` (13 preceding siblings ...)
2004-12-05 9:39 ` ebotcazou at gcc dot gnu dot org
@ 2005-05-19 17:48 ` mmitchel at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-05-19 17:48 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.4 |3.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16586
^ permalink raw reply [flat|nested] 16+ messages in thread