Daniel Berlin wrote on 06/09/06 19:32:
>> /* This structure is for generic trees.  */
>> struct tree_common GTY(())
>> {
>>   struct tree_base base;
>>   tree chain;
>>   tree type;
>>   union tree_ann_d *ann;
>> };
> Why is there a chain in tree_common?
> 
To avoid wholesale conversion.  Initially, we are only interested in
gimple statements and assignment expressions.  The idea is to gradually
make all the GIMPLE expressions to inherit from tree_base.  The 'chain'
field may be useful for the front-ends (which we are not interested in
messing with).

> The last time i moved value handle to a hash table, FRE/PRE got like 20%
> slower.
> So if you are going to move it, you should probably take careful
> measurements before using a hash table, *or* use an indexed array
> (either is fine by me).
> 
> I assume nothing has been done about array accesses or indirect refs yet
> due to no true consensus yet?
> 
No.  I've been waiting for the feedback to stop.  I will send a revised
design soon.

> Also, one thing to throw on your todo list about gimple
> temporaries/ssa_names is that a *lot* of places create one var per
> ssa_name for no good reason.
> 
Sure.  I'm hoping we can get to 1 or 2 word GIMPLE temps (just the type
and an ID).  Having a symbol associated with SSA names is convenient but
 we should be able to remove that dependency.

Reply via email to