This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Intermodule patch
- From: Andreas Jaeger <aj at suse dot de>
- To: Geoffrey Keating <gkeating at apple dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 10 Jul 2003 07:57:59 +0200
- Subject: Re: Intermodule patch
- References: <200307091858.h69IwTcT001772@keatge.apple.com>
Geoffrey Keating <gkeating@apple.com> writes:
> This is the current version of my intermodule optimization patch. I
> plan to commit this just as soon as the tree can bootstrap again on
> Darwin (grrr).
>
> It still doesn't have a testsuite. That's being worked on, but it
> turns out to be hard. However, it can be tested, by bootstrapping GCC
> with the new --enable-intermodule configure option; although to really
> enjoy a debugging session, you want to add 'CFLAGS=-O3' as well (I
> hope that one day this will actually work).
>
> New features in this version:
>
> - --enable-intermodule
> - struct cgraph needs chain_next and chain_prev options to make GCC
> bootstrap with --enable-intermodule, or it'll run out of stack
> space due to having (tens of?) thousands of entries in the chain.
> [...]
> +/* Hash and equality functions for link_hash_table: key off
> + DECL_ASSEMBLER_NAME. */
> +
> +static hashval_t
> +link_hash_hash (x_p)
> + const void *x_p;
> +{
> + tree x = (tree)x_p;
> + return (hashval_t) DECL_ASSEMBLER_NAME (x);
> +}
> +
> +static int
> +link_hash_eq (x1_p, x2_p)
> + const void *x1_p;
> + const void *x2_p;
> +{
> + tree x1 = (tree)x1_p;
> + tree x2 = (tree)x2_p;
> + return DECL_ASSEMBLER_NAME (x1) == DECL_ASSEMBLER_NAME (x2);
> +}
> +
> +/* Propagate information between definitions and uses between multiple
> + translation units in TU_LIST based on linkage rules. */
> +
> +void
> +merge_translation_unit_decls PARAMS((void))
> +{
Please do not introduce new PARAMS or K&R prototypes (there're some
more places in your patch),
Andreas
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126