On Fri, Nov 14, 2014 at 01:06:52PM +0100, Dodji Seketeli wrote: > Jakub Jelinek <ja...@redhat.com> writes: > > >> I am not sure, but I am wondering if we shouldn't save the previous uid > >> of 'stmt' here before setting it, and then restore it before getting out > >> of this function. > > > > No, gimple uids are AFAIK undefined at the start of passes, passes that use > > them are supposed to initialize them before use (new statements created > > during the pass will get 0 there by default), and don't have to clean them > > up anyway at the end of pass. > > Yeah, this is what I figured by grepping other passes, but I wasn't sure > :-) > > Maybe I should follow up with a doc patch for the (otherwise very terse) > comment of gimple_set_uid and gimple_uid accessors.
That would be indeed nice (similarly for other stuff that we expect to be undefined on pass boundaries, or expect to be in certain state at pass boundaries; in the former case set before uses, and don't care about what state we leave it in, in the latter case can assume some state first (say 0) and have to put it back into the same state). There are various visited flags and the like, Richard, any ideas what other things might be nice to document? Jakub