On 4/4/07, Zdenek Dvorak <[EMAIL PROTECTED]> wrote:
Hello,

> This looks like a very complicated (though very generic) way of
> specifying a memory
> reference.  Last time we discussed this I proposed to just have BASE, OFFSET
> and accessed TYPE (and an alias tag of the memory reference).  I realize
> this
> doesn't cover accesses to multi-dimensional arrays, but using the
> full-blown scheme
> in place of a simple INDIRECT_REF makes memory usage for the trees go up
> noticable.

by the way, does your claim "using the full-blown scheme... makes memory
usage go up noticeable" mean that you have experimented with some
similar representation?  If so, could you please post your
patches/results?  Or do you have at least some data regarding how great
part of the tree memory consumption comes from memory references?

No, I didn't do patches or measurements.  I just extrapolated that if you want
to handle things like a.x[i].y.z[j] you need to store not only two indices but
either two strides or two types (to extract the stride).  So you'd
have (assuming
a flat tree) for example two VECs in the memory reference tree.  Together
with the (possibly non-constant) offset and the base these are four pointers
compared to one in a simple INDIRECT_REF.

Maybe we can incrementally create out of all the existing memory reference
two reference trees, one simple that does not handle multi-dimensional array
accesses well and one full-blown one?

Richard.

Reply via email to