This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Speculative call support in the callgraph


> This is really strange. The speculative edges should not be created here at all.
> So perhaps some uninitialized memory access crept in :(
> It would help if you try to track how the ->speculative bit appears for you
> in the loop in cgraph_rebuild_references.  I will try to reproduce your setup now.

OK, it reproduced for me on one of the testers.  I think the bug is that
cgraph edges are not cleared upon allocation and I did not set the newly introduced
flag:
Index: cgraph.c
===================================================================
--- cgraph.c    (revision 201640)
+++ cgraph.c    (working copy)
@@ -873,6 +873,7 @@ cgraph_create_edge_1 (struct cgraph_node
 
   edge->indirect_info = NULL;
   edge->indirect_inlining_edge = 0;
+  edge->speculative = false;
 
   return edge;
 }

I will commit this as obvious shortly.
> 
> Honza
> > 
> > -Andi


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]