This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Diego and I actually talked about this at some point during the summit, to which his answer was "oops". It turns out that when we release an SSA_NAME, we don't clear out SSA_NAME_DEF_STMT. This means if you walk the ssa_name array, and visit SSA_NAME_DEF_STMT, there is no truly reliable way to tell if the SSA_NAME_DEF_STMT points to a live statement or not.
Since this doesn't fix a regression, I will apply this to 4.3 once 4.2 branches, unless someone thinks it is a good idea for 4.2 (I imagine it could save us some memory since it may cause us to keep these statements live, but i haven't explored in detail whether that is true or not).
* tree-ssanames.c (release_ssa_name): Clear SSA_NAME_DEF_STMT
when the SSA_NAME is released.
Attachment:
ssanames.diff
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |