More CSELIB memory reduction
Jan Hubicka
jh@suse.cz
Fri Jan 23 21:05:00 GMT 2004
> Jan Hubicka <jh@suse.cz> writes:
>
> > > On Thu, 22 Jan 2004, Richard Henderson wrote:
> > > > On Fri, Jan 23, 2004 at 03:06:35AM +0100, Jan Hubicka wrote:
> > > >> * cselib.c (value_pool): New.
> > > >> (new_cselib_val): Use pool.
> > > >> (cselib_init): Initialize value_pool
> > > >> (cselib_finish): Free pool.
>
> > My plan is to wait a week with them being on mainline and if it does not
> > break in some interesting way, I will collect the patches and ask for
>
> Unfortunately, this patch breaks mainline bootstrap on both
> sparc-sun-solaris2.8 and mips-sgi-irix6.5:
It looks like we are getting alignments wrong. At least mips seems to
require 64bit alignment even in 32bit mode because RTXes containg long
longs.
I will apply it as obvious if it passes for you.
Honza
2004-01-23 Jan Hubicka <jh@suse.cz>
* alloc-pool.c (align_four): Kill.
(create_alloc_pool): Align by eight.
Index: alloc-pool.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/alloc-pool.c,v
retrieving revision 1.9
diff -c -3 -p -r1.9 alloc-pool.c
*** alloc-pool.c 21 Dec 2003 14:08:32 -0000 1.9
--- alloc-pool.c 23 Jan 2004 20:58:25 -0000
*************** extern void fancy_abort (const char *, i
*** 34,40 ****
ATTRIBUTE_NORETURN;
#define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__)
- #define align_four(x) (((x+3) >> 2) << 2)
#define align_eight(x) (((x+7) >> 3) << 3)
/* The internal allocation object. */
--- 34,39 ----
*************** create_alloc_pool (const char *name, siz
*** 90,96 ****
size = sizeof (alloc_pool_list);
/* Now align the size to a multiple of 4. */
! size = align_four (size);
#ifdef ENABLE_CHECKING
/* Add the aligned size of ID. */
--- 89,95 ----
size = sizeof (alloc_pool_list);
/* Now align the size to a multiple of 4. */
! size = align_eight (size);
#ifdef ENABLE_CHECKING
/* Add the aligned size of ID. */
More information about the Gcc-patches
mailing list