Speculative call support in the callgraph

Message ID 20130810095427.GA613@kam.mff.cuni.cz
State New
Headers show

Commit Message

Jan Hubicka Aug. 10, 2013, 9:54 a.m.
> 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

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


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;