Jeffrey Law <[EMAIL PROTECTED]> writes:

> On Thu, 2006-12-21 at 11:55 -0500, Diego Novillo wrote:
> > Robert Kennedy wrote on 12/21/06 11:37:
> > 
> > > The situation is that some SSA_NAMEs are disused (removed from the 
> > > code) without being released onto the free list by 
> > > release_ssa_name().
> > > 
> > Yes, it happens if a name is put into the set of names to be updated by 
> > update_ssa.
> > 
> > After update_ssa, it should be true that every SSA name with no 
> > SSA_NAME_DEF_STMT is in the free list.
> > 
> > However, if we have SSA names with no defining statement that are still 
> > in considered active, I would hardly consider it a serious bug.  It's a 
> > waste of memory, which you are more than welcome to fix, but it should 
> > not cause correctness issues.
> > 
> > > Please discuss.
> > > 
> > Test case?
> I think the discussion should begin with reevaluating whether or not
> the memory savings from recycling SSA_NAMEs is still worth the headache.

I may be missing something, but I don't think that is the interesting
issue here.

I think the issue is whether we want to have a way to see all
currently valid SSA_NAMEs.  Right now we can have SSA_NAMEs in the
list which are no longer used, and we have no way to tell whether they
are used or not.  Thus the only way to see all valid SSA_NAMEs is to
walk the code.

If that is acceptable, then there is no issue here.  If that is not
acceptable, then we need to fix the code to correctly mark SSA_NAMEs
which are no longer used.  Whether we recycle the memory in the unused
SSA_NAMEs is a separate (and less interesting) discussion.

Ian

Reply via email to