This is the mail archive of the gcc@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]

Re: SSA_NAMES: should there be an unused, un-free limbo?


Daniel Berlin wrote on 12/21/06 12:21:

for (i = 0; i < num_ssa_names; i++)
{
  tree name = ssa_name (i);
  if (name && !SSA_NAME_IN_FREELIST (name)
   DFS (name)
>
I see that you are not checking for IS_EMPTY_STMT. Does DFS need to access things like bb_for_stmt?


In any case, that is not important. I agree that every SSA name in the SSA table needs to have a DEF_STMT that is either (a) an empty statement, or, (b) a valid statement still present in the IL.

Note that this is orthogonal to the problem of whether we free up unused names from this list. Every time a statement S disappears, we should make sure that the names defined by S get their SSA_NAME_DEF_STMT set to NOP.

Frankly, I'm a bit surprised that we are running into this. I'd like to see a test case, if you have one.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]