public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
@ 2015-08-18 0:48 su at cs dot ucdavis.edu
2015-08-18 7:40 ` [Bug tree-optimization/67253] [6 Regression] " rguenth at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: su at cs dot ucdavis.edu @ 2015-08-18 0:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
Bug ID: 67253
Summary: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: su at cs dot ucdavis.edu
Target Milestone: ---
The following code causes an ICE when compiled with the current gcc trunk at
-O3 on x86_64-linux-gnu in both 32-bit and 64-bit modes.
It is a regression from 5.1.x.
$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 6.0.0 20150815 (experimental) [trunk revision 226911] (GCC)
$
$ gcc-trunk -O2 small.c; ./a.out
$ gcc-5.1 -O3 small.c; ./a.out
$
$ gcc-trunk -O3 small.c
small.c: In function ‘fn2.constprop’:
small.c:45:1: error: location references block not in block tree
fn2 (char p1, int p2, int *p3)
^
&c
p3_277 = &c;
small.c:45:1: internal compiler error: verify_gimple failed
0xae9db2 verify_gimple_in_cfg(function*, bool)
../../gcc-trunk/gcc/tree-cfg.c:5101
0x9e35a7 execute_function_todo
../../gcc-trunk/gcc/passes.c:1948
0x9e3e53 execute_todo
../../gcc-trunk/gcc/passes.c:2005
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
$
--------------------------
int *a, b, c, **d = &a, e, f, **h, i, j, k, l, m, *n, o, **q, r, s;
void fn1 (int p) { }
void
fn3 ()
{
for (; j; j++)
for (; k; k++)
l++;
f++;
}
static int
fn4 (char p1, int *p2)
{
for (; m < 1;)
{
fn1 (q == &p2);
for (; o; o++)
;
n = p2;
return 0;
}
for (;;)
{
for (; s; s++)
b = r;
*d = 0;
}
}
static int *fn2 (char, int, int *);
static int
fn5 ()
{
int *g = &c;
fn3 ();
fn2 (0, 0, g);
return e;
}
static int *
fn2 (char p1, int p2, int *p3)
{
fn4 (0, p3);
fn1 (&p3 == h);
for (; i;)
fn5 ();
fn4 (0, p3);
return *d;
}
int
main ()
{
fn5 ();
return 0;
}
>From gcc-bugs-return-495037-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Aug 18 05:29:36 2015
Return-Path: <gcc-bugs-return-495037-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 10287 invoked by alias); 18 Aug 2015 05:29:35 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 10264 invoked by uid 48); 18 Aug 2015 05:29:31 -0000
From: "jeff.science at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/67250] gfortran does not faithfully preprocess the way cpp does
Date: Tue, 18 Aug 2015 05:29:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 5.2.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jeff.science at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution
Message-ID: <bug-67250-4-57B74QSQPZ@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67250-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67250-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg01179.txt.bz2
Content-length: 761
https://gcc.gnu.org/bugzilla/show_bug.cgi?idg250
Jeff Hammond <jeff.science at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |---
--- Comment #6 from Jeff Hammond <jeff.science at gmail dot com> ---
I want gfortran to behave like cpp, not the other way around. I filed this bug
report against gfortran, not cpp, and I noted my desire to have gfortran behave
like cpp in both the title and original comments.
Please do not close the bug until you have addressed the bug report, and not a
closely related but ultimately opposite issue.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
2015-08-18 0:48 [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed) su at cs dot ucdavis.edu
@ 2015-08-18 7:40 ` rguenth at gcc dot gnu.org
2015-08-25 13:42 ` mpolacek at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-18 7:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-checking,
| |ice-on-valid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-08-18
Known to work| |5.2.1
Target Milestone|--- |6.0
Summary|ICE at -O3 on |[6 Regression] ICE at -O3
|x86_64-linux-gnu |on x86_64-linux-gnu
|(verify_gimple failed) |(verify_gimple failed)
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed, exposed by inlining.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
2015-08-18 0:48 [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed) su at cs dot ucdavis.edu
2015-08-18 7:40 ` [Bug tree-optimization/67253] [6 Regression] " rguenth at gcc dot gnu.org
@ 2015-08-25 13:42 ` mpolacek at gcc dot gnu.org
2015-09-16 9:27 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-25 13:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mpolacek at gcc dot gnu.org
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Started with r222360.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
2015-08-18 0:48 [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed) su at cs dot ucdavis.edu
2015-08-18 7:40 ` [Bug tree-optimization/67253] [6 Regression] " rguenth at gcc dot gnu.org
2015-08-25 13:42 ` mpolacek at gcc dot gnu.org
@ 2015-09-16 9:27 ` rguenth at gcc dot gnu.org
2015-09-16 9:53 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-09-16 9:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
2015-08-18 0:48 [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed) su at cs dot ucdavis.edu
` (2 preceding siblings ...)
2015-09-16 9:27 ` rguenth at gcc dot gnu.org
@ 2015-09-16 9:53 ` rguenth at gcc dot gnu.org
2015-09-16 14:28 ` rguenth at gcc dot gnu.org
2015-09-16 14:29 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-09-16 9:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok... so the issue is we have "invalid" tree sharing of &c in both
fn4.constprop
and fn2.constprop. Correctly without BLOCK on the location. But then we
expand
fn4.constprop and do
expand_gimple_stmt_1 (stmt=<gimple_assign 0x7ffff6a0ac30>)
at /space/rguenther/src/svn/trunk/gcc/cfgexpand.c:3592
3592 if (TREE_CLOBBER_P (rhs))
(gdb) l
3587 tree rhs = gimple_assign_rhs1 (assign_stmt);
3588 gcc_assert (get_gimple_rhs_class (gimple_expr_code (stmt))
3589 == GIMPLE_SINGLE_RHS);
3590 if (gimple_has_location (stmt) && CAN_HAVE_LOCATION_P
(rhs))
3591 SET_EXPR_LOCATION (rhs, gimple_location (stmt));
3592 if (TREE_CLOBBER_P (rhs))
which sets this invalid location on the shared tree.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
2015-08-18 0:48 [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed) su at cs dot ucdavis.edu
` (3 preceding siblings ...)
2015-09-16 9:53 ` rguenth at gcc dot gnu.org
@ 2015-09-16 14:28 ` rguenth at gcc dot gnu.org
2015-09-16 14:29 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-09-16 14:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Sep 16 14:27:52 2015
New Revision: 227826
URL: https://gcc.gnu.org/viewcvs?rev=227826&root=gcc&view=rev
Log:
2015-09-16 Richard Biener <rguenther@suse.de>
PR middle-end/67253
* cfgexpand.c (expand_gimple_stmt_1): Do not clobber
location of possibly shared trees.
* gcc.dg/torture/pr67253.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.dg/torture/pr67253.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgexpand.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
2015-08-18 0:48 [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed) su at cs dot ucdavis.edu
` (4 preceding siblings ...)
2015-09-16 14:28 ` rguenth at gcc dot gnu.org
@ 2015-09-16 14:29 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-09-16 14:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed (but latent elsewhere).
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-09-16 14:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-18 0:48 [Bug tree-optimization/67253] New: ICE at -O3 on x86_64-linux-gnu (verify_gimple failed) su at cs dot ucdavis.edu
2015-08-18 7:40 ` [Bug tree-optimization/67253] [6 Regression] " rguenth at gcc dot gnu.org
2015-08-25 13:42 ` mpolacek at gcc dot gnu.org
2015-09-16 9:27 ` rguenth at gcc dot gnu.org
2015-09-16 9:53 ` rguenth at gcc dot gnu.org
2015-09-16 14:28 ` rguenth at gcc dot gnu.org
2015-09-16 14:29 ` rguenth 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).