This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa]: Patch: bootstrap regression fix
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Dale Johannesen <dalej at apple dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 17 Dec 2003 20:37:52 +0100
- Subject: Re: [tree-ssa]: Patch: bootstrap regression fix
- References: <04007537-30C8-11D8-B374-000A95D7CD40@apple.com>
> This patch
> 2003-12-17 Jan Hubicka <jh@suse.cz>
>
> * tree-inline.c (estimate_num_insns_1): Check that all nodes
> are
> known; add missing nodes; fix MODIFY_EXPR
Erm, it is second time it bit me. Thanks!
>
> broke bootstrap on Darwin; the rs6000 files do not define MOVE_RATIO
> specially.
> According to the doc they don't have to. This moves the default
> definition from
> expr.c to expr.h. Bootstrapped. OK?
I would say that defaults.h is the proper place.
I am starting bootstrap with that change. Would it be OK assuming it
passes?
Honza
>
> (Apple's mailer may screw up the long lines below, although they look
> all right to me;
> I promise the change is a simple cut-and-paste.)
>
> Index: expr.h
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/expr.h,v
> retrieving revision 1.117.2.21
> diff -u -d -b -w -c -3 -p -r1.117.2.21 expr.h
> cvs server: conflicting specifications of output style
> *** expr.h 13 Nov 2003 02:37:52 -0000 1.117.2.21
> --- expr.h 17 Dec 2003 19:30:16 -0000
> *************** enum expand_modifier {EXPAND_NORMAL = 0,
> *** 62,67 ****
> --- 62,79 ----
> inhibit_defer_pop for more information. */
> #define NO_DEFER_POP (inhibit_defer_pop += 1)
>
> + /* If a memory-to-memory move would take MOVE_RATIO or more simple
> + move-instruction sequences, we will do a movstr or libcall
> instead. */
> +
> + #ifndef MOVE_RATIO
> + #if defined (HAVE_movstrqi) || defined (HAVE_movstrhi) || defined
> (HAVE_movstrsi) || defined (HAVE_movstrdi) || defined (HAVE_movstrti)
> + #define MOVE_RATIO 2
> + #else
> + /* If we are optimizing for space (-Os), cut down the default move
> ratio. */
> + #define MOVE_RATIO (optimize_size ? 3 : 15)
> + #endif
> + #endif
> +
> /* Allow the compiler to defer stack pops. See inhibit_defer_pop for
> more information. */
> #define OK_DEFER_POP (inhibit_defer_pop -= 1)
> Index: expr.c
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/expr.c,v
> retrieving revision 1.467.2.69
> diff -u -d -b -w -c -3 -p -r1.467.2.69 expr.c
> cvs server: conflicting specifications of output style
> *** expr.c 10 Dec 2003 21:43:51 -0000 1.467.2.69
> --- expr.c 17 Dec 2003 19:30:16 -0000
> *************** static char direct_store[NUM_MACHINE_MOD
> *** 186,203 ****
>
> static bool
> float_extend_from_mem[NUM_MACHINE_MODES][NUM_MACHINE_MODES];
>
> - /* If a memory-to-memory move would take MOVE_RATIO or more simple
> - move-instruction sequences, we will do a movstr or libcall
> instead. */
> -
> - #ifndef MOVE_RATIO
> - #if defined (HAVE_movstrqi) || defined (HAVE_movstrhi) || defined
> (HAVE_movstrsi) || defined (HAVE_movstrdi) || defined (HAVE_movstrti)
> - #define MOVE_RATIO 2
> - #else
> - /* If we are optimizing for space (-Os), cut down the default move
> ratio. */
> - #define MOVE_RATIO (optimize_size ? 3 : 15)
> - #endif
> - #endif
> -
> /* This macro is used to determine whether move_by_pieces should be
> called
> to perform a structure copy. */
> #ifndef MOVE_BY_PIECES_P
> --- 186,191 ----