Jeffrey Law wrote on 12/21/06 12:48:
True. But remember, the stated purpose of the SSA_NAME recycling
code was _not_ to track every SSA_NAME that went "dead" and recycle
it, but instead to get the majority of them (and to ultimately save
memory by recycling them). Orphan SSA_NAME were always expected.
But this is orthogonal to the recycling issue. They are traversing the
SSA name table and finding SSA names that have invalid DEF_STMT entries.
I believe that we should support this kind of usage of the SSA table.
Alternately we can revisit the entire recycling question as well --
things have changed significantly since that code was written and
I've speculated that the utility of the recycling code has
diminished, possibly to the point of being a useless waste of time
and code.
That'd be interesting to try, yes. Though we *do* want to invalidate
SSA_NAME_DEF_STMT for the SSA names whose defining statement gets deleted.