This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Antwort: Re: Antwort: Re: Antwort: patch to shrink the size of df_refs.
- From: Markus Milleder <markus dot milleder at generali dot at>
- To: zadeck at naturalbridge dot com
- Cc: Paolo Bonzini <bonzini at gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>, "Hubicha, Jan" <jh at suse dot cz>, Seongbae Park <spark at google dot com>, Steven Bosscher <stevenb dot gcc at gmail dot com>
- Date: Thu, 25 Sep 2008 17:48:06 +0200
- Subject: Antwort: Re: Antwort: Re: Antwort: patch to shrink the size of df_refs.
Kenneth Zadeck <zadeck@naturalbridge.com> schrieb am 25.09.2008 17:39:17:
> Markus Milleder wrote:
> > Kenneth Zadeck <zadeck@naturalbridge.com> schrieb am 25.09.2008 13:53:55:
> >
> >
> >> Markus Milleder wrote:
> >>
> >>> gcc-patches-owner@gcc.gnu.org schrieb am 25.09.2008 02:10:12:
> >>>
> >>>
> >>>> This patch makes a modest reduction in the size of df_refs. It does
> >>>>
> >>>>
> >>> Is this worth the complication ?
> >>>
> >>> To my untrained eye, the only savings is putting the bb pointer
> >>> (in df_artificial_ref) at the same place as the rtx pointer
> >>> (in df_regular_ref and df_extract_ref).
> >>>
> >>>
> >>>
> >> no, there are also no loc pointers in many of the regular refs so they
> >> use the base_ref version which saves another pointer.
> >>
> >
> > ... which has no effect on the total size of the union, unless I totally
> > misunderstand how unions work.
> >
> > I.e. sizeof(df_ref_d) == max( sizeof(any of the possibilities) ), which
> > by my count is struct df_extract_ref.
> >
> >
> no, you have misunderstood. If you look in the code in df-scan.c ,
> you will see that there is a different alloc pool for each of the 4
> variants, each with an element size based on the size of the variant,
> not the size of the total union.
>
Thanks, that's what I missed.
So, depending on the type distribution, savings could be up to 35%.
Markus Milleder