This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Not using VAR_DECLs for temporary variables
- From: Diego Novillo <dnovillo at redhat dot com>
- To: gcc at gcc dot gnu dot org
- Cc: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Date: Mon, 16 Jan 2006 09:54:42 -0500
- Subject: Re: [RFC] Not using VAR_DECLs for temporary variables
- References: <20051221153722.GA20730@atrey.karlin.mff.cuni.cz>
On Wednesday 21 December 2005 10:37, Zdenek Dvorak wrote:
> However, if we instead put a really minimal DECL node (we allocate only
> one per type, and consisting just of struct tree_common -- 16 bytes) as
> a SSA_NAME_VAR, things are much easier to get working.
>
I see that you are creating a tcc_declaration in your patch, though. I've
been thinking along similar lines, but my idea was to do something similar
to what we have with memory tags. A DECL node derived from decl_minimal
that is used when creating *all* compiler temporaries.
I like the idea of creating SSA_NAMEs directly for temporaries that are
known to be set only once. However, perhaps this would not be completely
necessary if we were to use a really minimal decl node for all
temporaries?
In any case, I agree with the general idea. Another couple of things I
have in mind is the reduction/elimination of variable annotations. I'd
like to convert some of the fields into on-the-side tables whenever it
would save us memory and not introduce slowdowns. And also, I think I'm
going to need to make SSA_NAMEs independent from DECLs for reducing the
memory used by virtual operands. One of the grouping ideas is to have a
single virtual SSA name cover a set of variables, that'd involve bitmaps
or some other grouping mechanism, but I'm still undecided.
Perhaps we could create a branch to work on these issues.