public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [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; 9+ 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] 9+ 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 ` [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 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; 9+ 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] 9+ 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 ` [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 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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: " 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; 9+ 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] 9+ 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: " 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; 9+ 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] 9+ 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: " 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; 9+ 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] 9+ 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: " 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; 9+ 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] 9+ 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: " 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; 9+ 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] 9+ messages in thread
end of thread, other threads:[~2010-10-15 1:24 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-45621-4@http.gcc.gnu.org/bugzilla/>
2010-09-29 17:12 ` [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 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
2010-09-09 19:31 [Bug rtl-optimization/45621] New: " 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
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).