On Fri, 14 Nov 2014, Jakub Jelinek wrote: > 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?
aux pointers on CFG structures which I believe have to be cleared after each pass that uses them (maybe already documented). Nothing else off the top of my head. Richard.