https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98599
--- Comment #4 from David Malcolm <dmalcolm at gcc dot gnu.org> --- 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?)