On May 20, 2014 6:47:44 PM CEST, Jeff Law <l...@redhat.com> wrote: >On 05/20/14 02:06, Richard Biener wrote: >> >> We're still going to have problems if SSA names are re-used >> (as even released SSA names have to remain valid lattice >> entries after this). But currently nothing will create new >> SSA names (fingers crossing) during eliminate. A followup >> patch of mine will though, thus I'll do that two-staged >> SSA name release/reuse list you thought would maybe fix this >> issue. >Sounds good (the two-staged release/reuse). > >The other thing I had pondered was two modes. One with immediate >re-use >and one with the two-staged release/reuse. > >But before doing anything my plan was to revisit the need for the >release/reuse code. That code was written when we had to go completely > >out of SSA, then back into SSA in the first incarnation of the SSA jump > >threading support. > >With the incremental updating of the SSA graph, we may find that we >really just don't need this code anymore. I wouldn't lose any sleep if > >after a bit of poking you came to that conclusion and just ripped out >the release/reuse code completely.
I think it's still important for things like keeping SSA names densely allocated and for reuse on SSA rewrite of virtual operands for example. So I'm thinking of an explicit stop-/restart-reuse interface. Richard. >jeff