This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: gimple tuples data structures design
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: Aldy Hernandez <aldyh at redhat dot com>, gcc at gcc dot gnu dot org, mark at codesourcery dot com
- Date: Mon, 12 Jun 2006 08:47:40 -0400
- Subject: Re: RFC: gimple tuples data structures design
- References: <20060609215317.GB30842@redhat.com> <448A04FF.5020108@dberlin.org>
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.