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.

Turning on GATHER_STATISITICS ought to give you some information about
the effectiveness of recycling.   Then build some code (GCC source,
particularly with ENABLE_CHECKING defined) with/without recycling and
compare memory usage for SSA_NAMES (IIRC that memory use is broken
out separately) before/after as well as total memory usage. 

Jeff

Reply via email to