public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
@ 2002-01-02 10:06 nottelm
0 siblings, 0 replies; 5+ messages in thread
From: nottelm @ 2002-01-02 10:06 UTC (permalink / raw)
To: gcc-gnats
>Number: 5250
>Category: c
>Synopsis: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Wed Jan 02 10:06:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: nottelm@uni-muenster.de
>Release: gcc-3.0.3
>Organization:
>Environment:
Linux pt2037 2.4.17 #1 SMP Fri Dec 21 20:50:49 MET 2001 i686 unknown
>Description:
See also PR5049 and PR4257.
The code is taken from kdemultimedia-3.0beta1 and reduced
to a testcase. Like in the prob reports above the ICE
vanishes if I choose -O2 as optimization level.
I hope the testcase is possibly helpful.
>How-To-Repeat:
gcc -O3 -c testcase.c
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="testcase.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="testcase.c"
dHlwZWRlZiBzdHJ1Y3QgewogIHVuc2lnbmVkIGxvbmcgZGF0YV9sZW5ndGg7CiAgc2hvcnQgKmRh
dGE7CiAgdW5zaWduZWQgY2hhciBub3RlX3RvX3VzZTsKfSBTYW1wbGU7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgaW50ICgqY21zZykodW5zaWduZWQgY2hhcik7Cn0gQ29udHJvbE1vZGU7CgpleHRlcm4g
Q29udHJvbE1vZGUgKmN0bDsgCgp2b2lkIHByZV9yZXNhbXBsZShTYW1wbGUgKiBzcCkKewogIGRv
dWJsZSBhOwogIHVuc2lnbmVkIGxvbmcgaSwgaW5jciwgb2ZzLCBuZXdsZW4sIGNvdW50OwogIHNo
b3J0ICpkZXN0LCAqc3JjID0gKHNob3J0ICopc3AtPmRhdGEsICp2cHRyOwogIGxvbmcgdjEsIHY0
OwoKICBuZXdsZW4gPSAobG9uZykoc3AtPmRhdGFfbGVuZ3RoIC8gYSk7CiAgb2ZzID0gaW5jciA9
IHNwLT5kYXRhX2xlbmd0aCAvIGNvdW50OwoKICBpZigoZG91YmxlKW5ld2xlbiArIGluY3IgPj0g
MHg3ZmZmZmZmZkwpCiAgICAgIGN0bC0+Y21zZyhzcC0+bm90ZV90b191c2UpOwoKICBmb3IoaSA9
IDA7IGkgPCBjb3VudDsgaSsrKQogICAgewogICAgICB2cHRyID0gc3JjICsgb2ZzOwogICAgICBp
ZiAoaSA8IGNvdW50KQoJdjEgPSAqdnB0cjsKICAgICAgZWxzZQoJewoJICBpZiAoaSA8IGNvdW50
ICsgMSkgdjEgPSAqdnB0cjsKCSAgZWxzZSB2MSA9ICp2cHRyOwoJICB2NCA9ICp2cHRyOwoJfQog
ICAgICAqZGVzdCA9IHYxOwogICAgfQoKICBmcmVlKHNwLT5kYXRhKTsKfQo=
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
@ 2002-03-03 18:17 rodrigc
0 siblings, 0 replies; 5+ messages in thread
From: rodrigc @ 2002-03-03 18:17 UTC (permalink / raw)
To: dmuell, gerold.jury, joel, maciej, utx, relf, snowwolf, usul,
gcc-bugs, gcc-prs, nobody, nottelm
Synopsis: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
State-Changed-From-To: analyzed->closed
State-Changed-By: rodrigc
State-Changed-When: Sun Mar 3 18:17:48 2002
State-Changed-Why:
Problem reproduced with gcc 3.0.4.
The problem does not occur with gcc 3.1 20020217 (experimental).
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5250
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
@ 2002-03-03 18:06 Craig Rodrigues
0 siblings, 0 replies; 5+ messages in thread
From: Craig Rodrigues @ 2002-03-03 18:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c/5250; it has been noted by GNATS.
From: Craig Rodrigues <rodrigc@attbi.com>
To: dmuell@gmx.net, gerold.jury@utanet.at, joel@gcc.gnu.org, maciej@imsa.edu,
utx@penguin.cz, relf@os2.ru, snowwolf@one2one-networks.com, usul@gmx.li,
gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org,
nobody@gcc.gnu.org, nottelm@uni-muenster.de
Cc:
Subject: Re: c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
Date: Sun, 03 Mar 2002 20:58:06 -0500
The following two PR's are duplicates of this one:
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=2293
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5822
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5250
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
@ 2002-02-08 12:46 Gwenole Beauchesne
0 siblings, 0 replies; 5+ messages in thread
From: Gwenole Beauchesne @ 2002-02-08 12:46 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c/5250; it has been noted by GNATS.
From: Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
To: dmuell@gmx.net, gerold.jury@utanet.at, joel@gcc.gnu.org, maciej@imsa.edu,
utx@penguin.cz, relf@os2.ru, snowwolf@one2one-networks.com,
gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org,
nobody@gcc.gnu.org, nottelm@uni-muenster.de
Cc:
Subject: Re: c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
Date: Fri, 08 Feb 2002 23:09:39 +0100
Hi,
PR c/4257, PR c/5409, PR c/5250 appear to have been fixed in gcc-3.1
when Jan Hubicka killed jump_optimize:
<http://gcc.gnu.org/ml/gcc-patches/2001-07/msg01430.html> .
I don't know if I get it right but the following patch attempts to
disable the NOOP_MOVES jump_optimization prior to register renaming.
2002-02-08 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
PR c/4257, PR c/5049, PR c/5250
* toplev.c (rest_of_compilation): Don't perform NOOP_MOVES
jump_optimization prior to register renaming. However, tidy the
CFG by deleting unreachable code.
* gcc.c-torture/compile/20020208-1.c: New test.
---
gcc-3.0.4/gcc/testsuite/gcc.c-torture/compile/20020208-1.c.no-noop_moves
Fri Feb 8 20:28:37 2002
+++ gcc-3.0.4/gcc/testsuite/gcc.c-torture/compile/20020208-1.c Fri
Feb 8 20:28:37 2002
@@ -0,0 +1,11 @@
+/* Origin: PR c/4257 from Volker Reichelt <reichelt@igpm.rwth-aachen.de>.
*/
+/* This testcase caused gcc-3.0.1 to ICE if compiled with -O1
+ -frename-registers. */
+
+void f ()
+{
+ unsigned int *p;
+ p++;
+ *p += *p / (*p < 2);
+}
+
--- gcc-3.0.4/gcc/toplev.c.no-noop_moves Fri Feb 8 20:01:51 2002
+++ gcc-3.0.4/gcc/toplev.c Fri Feb 8 20:01:51 2002
@@ -3546,9 +3546,8 @@
timevar_push (TV_FLOW2);
open_dump_file (DFI_flow2, decl);
- jump_optimize (insns, !JUMP_CROSS_JUMP,
- JUMP_NOOP_MOVES, !JUMP_AFTER_REGSCAN);
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
+ cleanup_cfg ();
/* On some machines, the prologue and epilogue code, or parts thereof,
can be represented as RTL. Doing so lets us schedule insns between
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5250
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
@ 2002-01-02 12:38 rodrigc
0 siblings, 0 replies; 5+ messages in thread
From: rodrigc @ 2002-01-02 12:38 UTC (permalink / raw)
To: dmuell, gerold.jury, joel, maciej, utx, relf, gcc-bugs, gcc-prs,
nobody, nottelm
Synopsis: ICE in print_rtl_and_abort, at flow.c:6458 with -O3
State-Changed-From-To: open->analyzed
State-Changed-By: rodrigc
State-Changed-When: Wed Jan 2 12:38:12 2002
State-Changed-Why:
The following testcase contributed by Volker Reichelt
in PR 4257 duplicates your ICE at -O3:
/* From Volker Reichelt <reichelt@igpm.rwth-aachen.de>,
* PR 4257 */
void
f ()
{
unsigned int *p;
p++;
*p += *p / (*p < 2);
}
The workaround is to add the flag -fno-rename-registers if
compiling with -O3.
This bug is fixed in gcc 3.1.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5250
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-03-04 2:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-02 10:06 c/5250: ICE in print_rtl_and_abort, at flow.c:6458 with -O3 nottelm
2002-01-02 12:38 rodrigc
2002-02-08 12:46 Gwenole Beauchesne
2002-03-03 18:06 Craig Rodrigues
2002-03-03 18:17 rodrigc
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).