[PATCH 1/2] Update iterator of next
Jan Hubicka
hubicka@ucw.cz
Fri Nov 15 12:59:00 GMT 2019
> The bug in the walker loop here IMO predated C++ conversion, but to
> avoid member function freeing THIS we probably want to have:
>
> cgraph_edge::remove (e),
> symtab_node::remove (e),
> ipa_ref::remove (ref),
> cgraph_node::resolve_speculation (e, target)
Actually thinking of this, perhas remove_speculation is better to make
it clear that it removes something ;)
Thanks for reminiding me of this issue :)
Honza
>
> I suppose good time for the conversion would be after remaining patches
> are merget. If you would have time to do that even better ;)
>
> > ...and then we can (and should and will) document that it can free the
> > edge.
> It speaks about removing edges and return value,
>
> Speculative call edge turned out to be direct call to CALLEE_DECL.
> Remove the speculative call sequence and return edge representing the call.
> It is up to caller to redirect the call as appropriate.
>
> We could add
> Edge E may be freed if it is resolved to other edge of the
> speculative call.
>
> Honza
> >
> > Martin
More information about the Gcc-patches
mailing list