This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: thanks for the memory work
- From: law at redhat dot com
- To: Andrew MacLeod <amacleod at redhat dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Steven Bosscher <s dot bosscher at student dot tudelft dot nl>, gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Wed, 26 Nov 2003 10:58:00 -0700
- Subject: Re: thanks for the memory work
- Reply-to: law at redhat dot com
In message <1069853017.23429.2811.camel@p4>, Andrew MacLeod writes:
>Initial plan is to have 1 varray of tree * for real operands over all
>stmts. The annotation will then have an index into this array for defs
>and one for uses. So when you want the uses(s), you have direct access
>to them. Initially Id put the def/use count in the annotation as well
>simply for speed. It'll be dead easy to change whe Im done tho.
>Initially Im trying to get rid of all those varrays.
So you have indices in the annotation itself. That's fine and good. What
about the case where we have more than the standard number of operands
(say an ASM)?
>When I allocate a varray, because it grows, you can never be sure that
>index [x] is always at the same memory location can you? varray memory
>is always contiguous, and not segmented right?
Right.
>Perhaps. Im not as convinced it will be that big of a win, but perhaps.
>I know one def is common, and we might very well be able to handle it
>seemlessly... But you are only saving at most 1 or 2 words per stmt, I
>wouldn't expect to see too much difference in the end relative to where
>we are spending memory elsewhere. We'll see :-)
Well, if everything is in a single varray, then the benefits of special
casing 0/1 def is much less important.
Jeff