[tree-ssa]: Easy way to get default def of a variable?

Daniel Berlin dberlin@dberlin.org
Wed Jun 4 22:51:00 GMT 2003


On Wednesday, June 4, 2003, at 06:21  PM, Diego Novillo wrote:

> On Wed, 2003-06-04 at 16:48, Daniel Berlin wrote:
>
>> This works, but it's slow, and it *seems* there should be a table or
>> something of the "first versions" of variables.
>>
> That wouldn't be hard to register.  It could be stored in a hash table
> indexed by VAR_DECL.  If it's only useful for a single pass, we should
> probably trigger it with a flag.  If you think it could be useful in
> other parts, we could then enable it by default.

No idea yet.

>
>
>> I believe this is what Open64 refers to as the "zero version", and it
>> has such a table, but i may be wrong.
>>
> They use zero versions to avoid the explosion of SSA names generated in
> the presence of heavy aliasing.  They run a pass that goes through the
> variables and when there are many versions of a variable that are only
> used in MUs/CHIs (ie, no real references), they just create a zero
> version for the variable that essentially means that the variable is
> used and defined in unknown ways.
Ahh, gotcha.
I never quite figured out what it was, so i guessed.
Wrong, apparently.
>  It's a mechanism for handling the
> explosion of version numbers.  Apparently to speed up optimizers so 
> that
> they don't have to chase long UD chains for things that aren't worth 
> it.
>
> That's what I vaguely remember, anyway.  It's been a few months.
>
>
> Diego.
>



More information about the Gcc mailing list