[patch] Share all integer constants

Nathan Sidwell nathan@codesourcery.com
Thu Oct 7 11:26:00 GMT 2004


Zdenek Dvorak wrote:
> Hello,
> 
> 
>>>this patch makes all integer constants to be shared, instead of just the
>>>small ones.  This brings relatively significant memory savings (on the
>>>constant themselves, as well as on vectors kept at each type).
>>>
>>>
>>
>>This is not OK.  At least, not until you analyze why this makes GCC 
>>itself go slower.
> 
> 
> the reason seems to be simply the overhead of caching (the original
> overhead was about 1%, I reduced it to 0.5% by making the functions
> to enter the constants into the hash table more efficient).  I
> will try to think about how to reduce this further.

Would it not be better to keep using the vectors for small ints, and
fall back on the cache for larger ones?  That would keep the fast
lookup for small ints.  This would be a much smaller patch, local
to build_int_cst_wide.

Is the extra work for caching the overflowed ones worth it?  I never
found much occurence of them in real programs.

nathan

-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk




More information about the Gcc-patches mailing list