This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SSA_NAMEs not always released
On Wed, 2005-08-24 at 19:19 -0400, Andrew MacLeod wrote:
> On Wed, 2005-08-24 at 18:28 -0400, Daniel Berlin wrote:
> > > 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.
>
> removing a stmt doesn't mean that the def is no longer needed.
That ws the goal of the extra argument, however
....
> Ive never been a big fan of having to call something to release
> ssa_names, its too bug prone. I would much prefer to see something like
> a cleanup pass done every once in a while... an ssa-name garbage
> collector if you will :-). It seems to me that between major
> optimization passes, any SSA_NAME with no defining stmt, no uses, and
> isn't a default def of some sort can simply be released. Or at least
> some similar set of criteria. I suspect immediate uses were not
> available when release_defs was invented, so this was not easily done.
I like this idea much better :)