> You can't change the last parameter to true in the if's true branch.
Ouch. Duh. Thanks!
The worst of it is, Zdenek sent me a patch, and not only did I
misunderstand it, I then transcribed it wrong based on my
misunderstanding. Oh well. Thanks for guessing my mistake.
-- Robert
> Something I forgot to add in my previous message. Notice that it is not
> altogether rare to find cases where we have more SSA names than
> statements. Are you walking the SSA names because you assume it's
> always shorter than walking the statements?
No. I'm walking the SSA names because l
> Robert, can you attach the testcase you've been working with?
One testcase is libstdc++-v3/libsupc++/vec.cc from mainline.
But it compiles without trouble unless you add verification or a walk
over the SSA_NAMEs at the right time.
> 1. We replace all uses of a phi node with something else
> 2.
> Right now we can have SSA_NAMEs in the
> list which are no longer used, and we have no way to tell whether they
> are used or not. Thus the only way to see all valid SSA_NAMEs is to
> walk the code.
To wit: are there iteration macros somewhere that will help me walk
the code while abstracting a
> In this case this isn't true, because we have code that orphans ssa
> names without releasing them.
> I'm sure Robert will explain further details in a few moments :)
Actually you explained all the relevant details. The question is
whether it should be allowed or not. So far almost everyone seem
I wrote:
> I don't much care about the details of *how* the facility is provided...
I should rephrase this. I do care about the interface to it. I don't
care so much about the implementation. I would like the interface to
be straightforward.
I don't want to do a separate project to reevaluate the
> I think the discussion should begin with reevaluating whether or not
> the memory savings from recycling SSA_NAMEs is still worth the headache.
That's a separate project that I'd rather not bundle with strength
reduction, because the two are unrelated conceptually.
My opinion is that instead, t
eliably whether the
SSA_NAME is unused. If there is no way to deduce what I want by
looking at an SSA_NAME, it will be necessary to walk over the code
whenever we simply want to iterate over SSA_NAMEs that are in use.
Please discuss.
-- Robert Kennedy