https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98599

--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to David Malcolm from comment #4)
> I set them so that each stmt has a unique id, unique across all functions. 
> I was assuming from the comments I quoted above in gimple.h that this is
> safe to do, but it sounds like from your comment that WPA makes assumptions
> that the uids don't change.  If that's the case, then I need to rethink
> things, and the gimple.h comments probably need updating (or WPA needs to
> allow for uids to change, but maybe that's hard to do?)

So looking into the code, in WPA when we stream out cgraph_edge, we record to
which GIMPLE statement an edge points to:

gcc/lto-cgraph.c:264-265

and the info is later used in LTRANS where you see the fatal_error.

So I would recommend using a separate table where you will assign a unique ID
to statements. And please update the comment in gimple.h.

Reply via email to