Ian Lance Taylor wrote on 12/21/06 13:08:
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.
Agreed.
We have various passes that walk through the SSA table, so I want to
keep supporting that.
We do have cases where an SSA name may get its defining statement zapped
and yet we need to keep it around. The renamer uses names_to_release in
those cases, and makes sure not to visit the defining statement.
If every statement removal were to set SSA_NAME_DEF_STMT to NOP for
every name generated by the removed statement, then the renamer would
probably not need to do that. However, the renamer *needs* the SSA name
itself not to be recycled (for name->name mappings).