public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/45621] New: [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
@ 2010-09-09 19:31 zsojka at seznam dot cz
2010-09-09 19:36 ` [Bug rtl-optimization/45621] " zsojka at seznam dot cz
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: zsojka at seznam dot cz @ 2010-09-09 19:31 UTC (permalink / raw)
To: gcc-bugs
Command line:
$ g++ -O2 -fipa-cp-clone -flto -nostdlib -r file1.cpp file2.cpp
Compiler output:
$ g++ -O2 -fipa-cp-clone -flto -nostdlib -r file1.cpp file2.cpp
lto1: error: inlined_to pointer is set but no predecessors found
_ZN1S2v1Ev.constprop.1/6(-1) @0x7f44a7e9eac0 (asm: _ZN1S2v1Ev.constprop.1)
(inline copy in foo/0) (clone of _ZN1S2v1Ev.constprop.1/1) availability:local
analyzed 13 time, 12 benefit 4 size, 3 benefit reachable body local finalized
inlinable
called by:
calls: v2/5 (1.00 per call)
References: var:s (addr)
Refering this function:
lto1: internal compiler error: verify_cgraph_node failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
lto-wrapper:
/mnt/svn/gcc-trunk/binary-164077-lto-fortran-checking-yes-rtl-df/bin/g++
returned 1 exit status
collect2: lto-wrapper returned 1 exit status
Tested revisions:
--
Summary: [4.6 Regression] ICE: verify_cgraph_node failed:
inlined_to pointer is set but no predecessors found with
-fipa-cp-clone -flto
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
2010-09-09 19:31 [Bug rtl-optimization/45621] New: [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto zsojka at seznam dot cz
@ 2010-09-09 19:36 ` zsojka at seznam dot cz
2010-09-10 9:38 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: zsojka at seznam dot cz @ 2010-09-09 19:36 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from zsojka at seznam dot cz 2010-09-09 19:35 -------
Created an attachment (id=21757)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21757&action=view)
archive with reduced testcase
$ g++ -O2 -fipa-cp-clone -flto -nostdlib -r file1.cpp file2.cpp
----- file1.cpp -----
#include "header.h"
void
foo ()
{
s.v1 ();
s.m ();
}
---------------------
----- file2.cpp -----
#include "header.h"
void
S::v1 ()
{
v2 ();
}
void
S::m ()
{
v1 ();
}
---------------------
----- header.h -----
struct S
{
void m ();
virtual void v1 ();
virtual void v2 ();
};
extern S s;
--------------------
I pressed "Commit" too early, so there is the rest:
Tested revisions:
r164077 - crash
r164096 - crash
r161659 - OK
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
2010-09-09 19:31 [Bug rtl-optimization/45621] New: [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto zsojka at seznam dot cz
2010-09-09 19:36 ` [Bug rtl-optimization/45621] " zsojka at seznam dot cz
@ 2010-09-10 9:38 ` rguenth at gcc dot gnu dot org
2010-09-17 1:06 ` hubicka at gcc dot gnu dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-09-10 9:38 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu dot
| |org, jamborm at gcc dot gnu
| |dot org
Target Milestone|--- |4.6.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
2010-09-09 19:31 [Bug rtl-optimization/45621] New: [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto zsojka at seznam dot cz
2010-09-09 19:36 ` [Bug rtl-optimization/45621] " zsojka at seznam dot cz
2010-09-10 9:38 ` rguenth at gcc dot gnu dot org
@ 2010-09-17 1:06 ` hubicka at gcc dot gnu dot org
2010-09-17 1:08 ` hubicka at gcc dot gnu dot org
2010-09-17 12:17 ` hubicka at gcc dot gnu dot org
4 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2010-09-17 1:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from hubicka at gcc dot gnu dot org 2010-09-17 01:05 -------
OK, problem is that we both devirtualize and clone the destination function.
Then when producing clone, we run into:
cgraph_update_edges_for_call_stmt_node (struct cgraph_node *node,
gimple old_stmt, tree old_call, gimple
new_stmt)
{
tree new_call = (is_gimple_call (new_stmt)) ? gimple_call_fndecl (new_stmt) :
0;
/* We are seeing indirect calls, then there is nothing to update. */
if (!new_call && !old_call)
return;
/* See if we turned indirect call into direct call or folded call to one
builtin
into different bultin. */
if (old_call != new_call)
{
struct cgraph_edge *e = cgraph_edge (node, old_stmt);
struct cgraph_edge *ne = NULL;
gcov_type count;
int frequency;
int loop_nest;
if (e)
{
/* See if the edge is already there and has the correct callee. It
might be so because of indirect inlining has already updated
it. */
if (new_call && e->callee && e->callee->decl == new_call)
return;
/* Otherwise remove edge and create new one; we can't simply redirect
since function has changed, so inline plan and other information
attached to edge is invalid. */
and kill the inline plan. This code is intended to handle bulitins, I guess
we will need to look out if the decl can be redirected to decl in the function.
Honza
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
2010-09-09 19:31 [Bug rtl-optimization/45621] New: [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto zsojka at seznam dot cz
` (2 preceding siblings ...)
2010-09-17 1:06 ` hubicka at gcc dot gnu dot org
@ 2010-09-17 1:08 ` hubicka at gcc dot gnu dot org
2010-09-17 12:17 ` hubicka at gcc dot gnu dot org
4 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2010-09-17 1:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from hubicka at gcc dot gnu dot org 2010-09-17 01:07 -------
testing patch.
--
hubicka at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |hubicka at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-09-17 01:07:45
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
2010-09-09 19:31 [Bug rtl-optimization/45621] New: [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto zsojka at seznam dot cz
` (3 preceding siblings ...)
2010-09-17 1:08 ` hubicka at gcc dot gnu dot org
@ 2010-09-17 12:17 ` hubicka at gcc dot gnu dot org
4 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2010-09-17 12:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from hubicka at gcc dot gnu dot org 2010-09-17 12:17 -------
Created an attachment (id=21818)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21818&action=view)
proposed patch
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
[not found] <bug-45621-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2010-10-15 1:21 ` hubicka at gcc dot gnu.org
@ 2010-10-15 1:24 ` hubicka at gcc dot gnu.org
3 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2010-10-15 1:24 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #8 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-10-15 01:24:04 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
[not found] <bug-45621-4@http.gcc.gnu.org/bugzilla/>
2010-09-29 17:12 ` rguenth at gcc dot gnu.org
2010-10-14 19:00 ` hubicka at gcc dot gnu.org
@ 2010-10-15 1:21 ` hubicka at gcc dot gnu.org
2010-10-15 1:24 ` hubicka at gcc dot gnu.org
3 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2010-10-15 1:21 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-10-15 01:20:59 UTC ---
Author: hubicka
Date: Fri Oct 15 01:20:55 2010
New Revision: 165492
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165492
Log:
PR middle-end/45621
* g++.dg/lto/pr45621.h : New.
* g++.dg/lto/pr45621_0.C: New.
* g++.dg/lto/pr45621_1.C: New.
* cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
redirected to clone, be happy.
* cgraph.h (cgraph node): Enable former_clone_of unconditinally.
* cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
former_clone_of unconditinally.
Added:
trunk/gcc/testsuite/g++.dg/lto/pr45621.h
trunk/gcc/testsuite/g++.dg/lto/pr45621_0.C
trunk/gcc/testsuite/g++.dg/lto/pr45621_1.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraph.c
trunk/gcc/cgraph.h
trunk/gcc/cgraphunit.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
[not found] <bug-45621-4@http.gcc.gnu.org/bugzilla/>
2010-09-29 17:12 ` rguenth at gcc dot gnu.org
@ 2010-10-14 19:00 ` hubicka at gcc dot gnu.org
2010-10-15 1:21 ` hubicka at gcc dot gnu.org
2010-10-15 1:24 ` hubicka at gcc dot gnu.org
3 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2010-10-14 19:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-10-14 18:59:58 UTC ---
The testing went fine, I just wanted to give more tought if some cheaper self
testing can be made instead of keeping clone info and then forgot about the
patch.
Will re-test and commit.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto
[not found] <bug-45621-4@http.gcc.gnu.org/bugzilla/>
@ 2010-09-29 17:12 ` rguenth at gcc dot gnu.org
2010-10-14 19:00 ` hubicka at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-09-29 17:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45621
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-09-29 15:29:31 UTC ---
Any update?
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-10-15 1:24 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-09 19:31 [Bug rtl-optimization/45621] New: [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto zsojka at seznam dot cz
2010-09-09 19:36 ` [Bug rtl-optimization/45621] " zsojka at seznam dot cz
2010-09-10 9:38 ` rguenth at gcc dot gnu dot org
2010-09-17 1:06 ` hubicka at gcc dot gnu dot org
2010-09-17 1:08 ` hubicka at gcc dot gnu dot org
2010-09-17 12:17 ` hubicka at gcc dot gnu dot org
[not found] <bug-45621-4@http.gcc.gnu.org/bugzilla/>
2010-09-29 17:12 ` rguenth at gcc dot gnu.org
2010-10-14 19:00 ` hubicka at gcc dot gnu.org
2010-10-15 1:21 ` hubicka at gcc dot gnu.org
2010-10-15 1:24 ` hubicka 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).