Patchwork PR testsuite/45621 (indirect inlining related cgraph verifier ICE)

login
register
mail settings
Submitter Michael Matz
Date Oct. 15, 2010, 12:20 p.m.
Message ID <Pine.LNX.4.64.1010151419060.7602@wotan.suse.de>
Download mbox | patch
Permalink /patch/67944/
State New
Headers show

Comments

Michael Matz - Oct. 15, 2010, 12:20 p.m.
Hello,

On Fri, 15 Oct 2010, Jan Hubicka wrote:

> + 2010-10-14  Jan Hubicka  <jh@suse.cz>
> + 
> + 	PR middle-end/45621
> + 	* 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.

With disable-checking this results in:

libbackend.a(cgraphunit.o): In function `verify_cgraph_node':
/gcc/spec/sb-frescobaldi.arch.suse.de-head-64/gcc/gcc/cgraphunit.c:659: 
undefined reference to `clone_of_p'

for which I'm checking in the below as obvious.


Ciao,
Michael.
Jan Hubicka - Oct. 15, 2010, 4:08 p.m.
> Hello,
> 
> On Fri, 15 Oct 2010, Jan Hubicka wrote:
> 
> > + 2010-10-14  Jan Hubicka  <jh@suse.cz>
> > + 
> > + 	PR middle-end/45621
> > + 	* 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.
> 
> With disable-checking this results in:
> 
> libbackend.a(cgraphunit.o): In function `verify_cgraph_node':
> /gcc/spec/sb-frescobaldi.arch.suse.de-head-64/gcc/gcc/cgraphunit.c:659: 
> undefined reference to `clone_of_p'
> 
> for which I'm checking in the below as obvious.

Ah, thanks.  Must've missed the hunk when separating patch out of my tree.

Honza
> 
> 
> Ciao,
> Michael.
> -- 
> 	* cgraphunit.c (clone_of_p): Define unconditionally.
> 
> Index: cgraphunit.c
> ===================================================================
> --- cgraphunit.c        (revision 165503)
> +++ cgraphunit.c        (working copy)
> @@ -396,7 +396,6 @@ cgraph_mark_if_needed (tree decl)
>      cgraph_mark_needed_node (node);
>  }
> 
> -#ifdef ENABLE_CHECKING
>  /* Return TRUE if NODE2 is equivalent to NODE or its clone.  */
>  static bool
>  clone_of_p (struct cgraph_node *node, struct cgraph_node *node2)
> @@ -405,7 +404,6 @@ clone_of_p (struct cgraph_node *node, st
>      node2 = node2->clone_of;
>    return node2 != NULL;
>  }
> -#endif
> 
>  /* Verify edge E count and frequency.  */
>

Patch

Index: cgraphunit.c
===================================================================
--- cgraphunit.c        (revision 165503)
+++ cgraphunit.c        (working copy)
@@ -396,7 +396,6 @@  cgraph_mark_if_needed (tree decl)
     cgraph_mark_needed_node (node);
 }

-#ifdef ENABLE_CHECKING
 /* Return TRUE if NODE2 is equivalent to NODE or its clone.  */
 static bool
 clone_of_p (struct cgraph_node *node, struct cgraph_node *node2)
@@ -405,7 +404,6 @@  clone_of_p (struct cgraph_node *node, st
     node2 = node2->clone_of;
   return node2 != NULL;
 }
-#endif

 /* Verify edge E count and frequency.  */