> 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