On Wed, 2005-08-24 at 18:28 -0400, Daniel Berlin wrote: > > If we take this after DCE, we still refer to a statement which no longer > > exists which we don't collect in the GC. > As i said when i pointed this out to you, we should probably skip > walking common.chain on SSA_NAME. > But that's non-trivial hard because it's a reused field :( It could always be broken out, but I think we've had a few significant changes in the compiler since the recycling code was introduced that may push us in a completely different direction -- namely scheduling a "cleanup" pass to recycle unused names.
> > Could someone look into this and see what they can do? > > You should probably ask Diego or Andrew directly whether they'd like us > to do this in bsi_remove (which requires adding an argument) and > remove_phi_node(ditto) so that a lot less has to worry about releasing > defs. Like Andrew MacLeod, I'd first like to see if we can get away with removing the current recycling code and instead have a pass we schedule via the pass manager which is responsible for recycling SSA_NAME nodes. With the changes we've made in the last year, there's a reasonable chance this will work as good or better than what we're doing now and it'll be more maintainable. jeff