This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Not using VAR_DECLs for temporary variables


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]