This is the mail archive of the gcc-patches@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: [4.7 PATCH 00/18] slim down a number of tree nodes


On Fri, Mar 11, 2011 at 02:25:38PM +0100, Richard Guenther wrote:
> On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd <froydnj@codesourcery.com> wrote:
> > This patch series does something similar to what:
> >
> > http://gcc.gnu.org/ml/gcc-patches/2010-11/msg02491.html
> >
> > did, only it does it in a cleaner way and it addresses the problem more
> > generally.
> >
> > Eliminating the block field from tree_exp would be another nice-to-have
> > for 4.7, but that's not on my radar of things to address at the moment.
> 
> I think removing TREE_TYPE from tree_exp isn't worth it, we do not have
> many expression trees left with tuples.  Unifying BLOCK with locations
> would indeed be nice (but again we don't have many exp trees left).

Well, the patch from last November showed that there are enough
expressions left that eliminating a pointer reduces GC memory by ~1%.
So I'd say shrinking things would still be worthwhile.

> > I have not rigorously measured memory savings with this patch. ?Based on
> > a (very small) sample, this patch saves ~5% of tree memory according to
> > dump_tree_statistics...though the amount of tree memory as reported by
> > dump_tree_statistics is somewhat suspect, since it doesn't include
> > statistics from copy_node_stat.
> 
> I thought I had fixed that ... but appearantly I didn't commit that
> part.

I have a patch which I will submit for 4.7, so unless you beat me to
it...

> > The patch series has been bootstrapped on x86_64-unknown-linux-gnu, both
> > in its entirety and with sub-patches along the way.
> 
> Did you make sure to enable all languages?  And grep for occurances in
> backends?

I bootstrapped with
--enable-languages=c,c++,ada,fortran,java,objc,obj-c++,go.  I didn't
check for bits in the backends; I can look around, but any backend
poking in the fields that got eliminated deserves what's coming.

-Nathan


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