This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/23940] SSA_NAMEs are not released after no longer being used.
- From: "amacleod at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Sep 2005 14:54:12 -0000
- Subject: [Bug tree-optimization/23940] SSA_NAMEs are not released after no longer being used.
- References: <20050918005013.23940.pinskia@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From amacleod at redhat dot com 2005-09-30 14:53 -------
I'm fine with the releasessaname.diff.txt
you aren't doing anything different than we normally do now. I prefer this over
adding a flag to bsi_remove for sure.
I looked into an alternative which follows up on the thread we had going. A
better longer term solution is to have it all taken care of automatically. I got
most of the way through implementing the automatic setting and clearing of
SSA_NAME_DEF_STMT as stmts are processed by build_stmt_operands(). That is the
one place where we know precisely when a stmt has entered and exited the IL.
Then between passes it is trivial to check if SSA_NAME_DEF_STMT is NULL and free
the ssa-name.
I had it mostly working, but the changes are pretty invasive as no one ever has
to set or clear SSA_NAME_DEF_STMT any more, its always simply "right". Its too
invasive for stage 3 thats for sure. I'll revisit it when we get back to stage 1
and test out performance and whether its really what we want to do.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23940