From: Richard Guenther <richard.guenther@gmail.com>
To: "Joseph S. Myers" <joseph@codesourcery.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: Ping^2 Re: Target header etc. cleanup patch
Date: Thu, 21 Apr 2011 09:31:00 -0000 [thread overview]
Message-ID: <BANLkTik8Dw5cR0o+UPKt0KzpYUo6JZibTw@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1104202106020.29659@digraph.polyomino.org.uk>
On Wed, Apr 20, 2011 at 11:09 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Ping^2. This patch
> <http://gcc.gnu.org/ml/gcc-patches/2011-04/msg00130.html> is still pending
> review. This version applies cleanly to current trunk.
The s/struct rtx_def */rtx/ changes are all ok (in fact I'd say they are
obvious).
Richard.
> 2011-04-20 Joseph Myers <joseph@codesourcery.com>
>
> * config/alpha/alpha.c (struct machine_function): Use rtx, not
> struct rtx_def *.
> * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
> definition where used.
> * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
> struct rtx_def *.
> * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
> * config/fr30/fr30-protos.h (Mmode): Don't define.
> * config/fr30/fr30.h (inhibit_libc): Don't define.
> * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct
> rtx_def *.
> * config/i386/cygming.h (union tree_node, TREE): Don't define or
> undefine.
> (FILE): Don't undefine.
> * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
> rtx_def *.
> * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
> definitions where used.
> * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
> definition where used.
> * config/microblaze/microblaze.h (struct microblaze_args): Use
> rtx, not struct rtx_def *.
> * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
> define. Expand definitions where used.
> * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
> rtx_def *.
> * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def
> *.
> * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def
> *.
> * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
> Expand definitions where used.
> * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
> rx_function_arg, rx_function_arg_advance,
> rx_function_arg_boundary): Expand definitions of those macros.
> * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
> not struct rtx_def *.
> * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
> struct rtx_def *.
> * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
> rtx_def *.
> * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def
> *.
> * config/v850/v850-protos.h (Mmode): Don't define. Expand
> definition where used.
> * config/v850/v850.h (GHS_default_section_names,
> GHS_current_section_names): Use tree, not union tree_node *.
>
> Index: gcc/config/alpha/alpha.c
> ===================================================================
> --- gcc/config/alpha/alpha.c (revision 172767)
> +++ gcc/config/alpha/alpha.c (working copy)
> @@ -4606,7 +4606,7 @@ struct GTY(()) machine_function
> const char *some_ld_name;
>
> /* For TARGET_LD_BUGGY_LDGP. */
> - struct rtx_def *gp_save_rtx;
> + rtx gp_save_rtx;
>
> /* For VMS condition handlers. */
> bool uses_condition_handler;
> Index: gcc/config/m32c/m32c-protos.h
> ===================================================================
> --- gcc/config/m32c/m32c-protos.h (revision 172767)
> +++ gcc/config/m32c/m32c-protos.h (working copy)
> @@ -1,5 +1,5 @@
> /* Target Prototypes for R8C/M16C/M32C
> - Copyright (C) 2005, 2007, 2008, 2010
> + Copyright (C) 2005, 2007, 2008, 2010, 2011
> Free Software Foundation, Inc.
> Contributed by Red Hat.
>
> @@ -19,12 +19,9 @@
> along with GCC; see the file COPYING3. If not see
> <http://www.gnu.org/licenses/>. */
>
> -#define MM enum machine_mode
> -#define UINT unsigned int
> -
> void m32c_conditional_register_usage (void);
> int m32c_const_ok_for_constraint_p (HOST_WIDE_INT, char, const char *);
> -UINT m32c_dwarf_frame_regnum (int);
> +unsigned int m32c_dwarf_frame_regnum (int);
> int m32c_eh_return_data_regno (int);
> void m32c_emit_epilogue (void);
> void m32c_emit_prologue (void);
> @@ -47,8 +44,8 @@ int m32c_trampoline_size (void);
>
> #ifdef RTX_CODE
>
> -int m32c_cannot_change_mode_class (MM, MM, int);
> -int m32c_class_max_nregs (int, MM);
> +int m32c_cannot_change_mode_class (enum machine_mode, enum machine_mode, int);
> +int m32c_class_max_nregs (int, enum machine_mode);
> rtx m32c_eh_return_stackadj_rtx (void);
> void m32c_emit_eh_epilogue (rtx);
> int m32c_expand_cmpstr (rtx *);
> @@ -60,20 +57,20 @@ void m32c_expand_neg_mulpsi3 (rtx *);
> int m32c_expand_setmemhi (rtx *);
> int m32c_extra_constraint_p (rtx, char, const char *);
> int m32c_extra_constraint_p2 (rtx, char, const char *);
> -int m32c_hard_regno_nregs (int, MM);
> -int m32c_hard_regno_ok (int, MM);
> +int m32c_hard_regno_nregs (int, enum machine_mode);
> +int m32c_hard_regno_ok (int, enum machine_mode);
> bool m32c_illegal_subreg_p (rtx);
> -bool m32c_immd_dbl_mov (rtx *, MM);
> +bool m32c_immd_dbl_mov (rtx *, enum machine_mode);
> rtx m32c_incoming_return_addr_rtx (void);
> int m32c_legitimate_constant_p (rtx);
> -int m32c_legitimize_reload_address (rtx *, MM, int, int, int);
> -int m32c_limit_reload_class (MM, int);
> -int m32c_modes_tieable_p (MM, MM);
> -bool m32c_mov_ok (rtx *, MM);
> +int m32c_legitimize_reload_address (rtx *, enum machine_mode, int, int, int);
> +int m32c_limit_reload_class (enum machine_mode, int);
> +int m32c_modes_tieable_p (enum machine_mode, enum machine_mode);
> +bool m32c_mov_ok (rtx *, enum machine_mode);
> char * m32c_output_compare (rtx, rtx *);
> int m32c_preferred_output_reload_class (rtx, int);
> int m32c_preferred_reload_class (rtx, int);
> -int m32c_prepare_move (rtx *, MM);
> +int m32c_prepare_move (rtx *, enum machine_mode);
> int m32c_prepare_shift (rtx *, int, int);
> void m32c_print_operand (FILE *, rtx, int);
> void m32c_print_operand_address (FILE *, rtx);
> @@ -81,8 +78,8 @@ int m32c_reg_ok_for_base_p (rtx, int);
> enum reg_class m32c_regno_reg_class (int);
> rtx m32c_return_addr_rtx (int);
> const char *m32c_scc_pattern (rtx *, RTX_CODE);
> -int m32c_secondary_reload_class (int, MM, rtx);
> -int m32c_split_move (rtx *, MM, int);
> +int m32c_secondary_reload_class (int, enum machine_mode, rtx);
> +int m32c_split_move (rtx *, enum machine_mode, int);
> int m32c_split_psi_p (rtx *);
> int current_function_special_page_vector (rtx);
>
> @@ -98,6 +95,3 @@ void m32c_output_aligned_common (FILE *,
> int, int, int);
>
> #endif
> -
> -#undef MM
> -#undef UINT
> Index: gcc/config/spu/spu-protos.h
> ===================================================================
> --- gcc/config/spu/spu-protos.h (revision 172767)
> +++ gcc/config/spu/spu-protos.h (working copy)
> @@ -1,4 +1,4 @@
> -/* Copyright (C) 2006, 2007, 2008, 2009, 2010
> +/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
> Free Software Foundation, Inc.
>
> This file is free software; you can redistribute it and/or modify it under
> @@ -42,8 +42,8 @@ extern rtx hwint_to_const_double (enum m
> extern rtx spu_const (enum machine_mode mode, HOST_WIDE_INT val);
> extern rtx spu_const_from_ints (enum machine_mode mode,
> int a, int b, int c, int d);
> -extern struct rtx_def *spu_float_const (const char *string,
> - enum machine_mode mode);
> +extern rtx spu_float_const (const char *string,
> + enum machine_mode mode);
> extern int immediate_load_p (rtx op, enum machine_mode mode);
> extern int logical_immediate_p (rtx op, enum machine_mode mode);
> extern int iohl_immediate_p (rtx op, enum machine_mode mode);
> Index: gcc/config/spu/spu.c
> ===================================================================
> --- gcc/config/spu/spu.c (revision 172767)
> +++ gcc/config/spu/spu.c (working copy)
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
> +/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
> + Free Software Foundation, Inc.
>
> This file is free software; you can redistribute it and/or modify it under
> the terms of the GNU General Public License as published by the Free
> @@ -3310,7 +3311,7 @@ spu_sched_adjust_cost (rtx insn, rtx lin
> }
>
> /* Create a CONST_DOUBLE from a string. */
> -struct rtx_def *
> +rtx
> spu_float_const (const char *string, enum machine_mode mode)
> {
> REAL_VALUE_TYPE value;
> Index: gcc/config/m32r/m32r-protos.h
> ===================================================================
> --- gcc/config/m32r/m32r-protos.h (revision 172767)
> +++ gcc/config/m32r/m32r-protos.h (working copy)
> @@ -1,5 +1,6 @@
> /* Prototypes for m32r.c functions used in the md file & elsewhere.
> - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010
> + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010,
> + 2011
> Free Software Foundation, Inc.
>
> This file is part of GCC.
> @@ -18,9 +19,8 @@
> along with GCC; see the file COPYING3. If not see
> <http://www.gnu.org/licenses/>. */
>
> -/* Function prototypes that cannot exist in v850.h due to dependency
> +/* Function prototypes that cannot exist in m32r.h due to dependency
> complications. */
> -#define Mmode enum machine_mode
>
> extern void m32r_init (void);
> extern void m32r_init_expanders (void);
> @@ -51,16 +51,14 @@ extern rtx m32r_return_addr (int);
> extern rtx m32r_function_symbol (const char *);
>
> #ifdef HAVE_MACHINE_MODES
> -extern int call_operand (rtx, Mmode);
> -extern int small_data_operand (rtx, Mmode);
> -extern int addr24_operand (rtx, Mmode);
> -extern int addr32_operand (rtx, Mmode);
> -extern int call26_operand (rtx, Mmode);
> -extern int memreg_operand (rtx, Mmode);
> -extern int small_insn_p (rtx, Mmode);
> +extern int call_operand (rtx, enum machine_mode);
> +extern int small_data_operand (rtx, enum machine_mode);
> +extern int addr24_operand (rtx, enum machine_mode);
> +extern int addr32_operand (rtx, enum machine_mode);
> +extern int call26_operand (rtx, enum machine_mode);
> +extern int memreg_operand (rtx, enum machine_mode);
> +extern int small_insn_p (rtx, enum machine_mode);
>
> #endif /* HAVE_MACHINE_MODES */
>
> #endif /* RTX_CODE */
> -
> -#undef Mmode
> Index: gcc/config/i386/cygming.h
> ===================================================================
> --- gcc/config/i386/cygming.h (revision 172767)
> +++ gcc/config/i386/cygming.h (working copy)
> @@ -1,7 +1,7 @@
> /* Operating system specific defines to be used when targeting GCC for
> hosting on Windows32, using a Unix style C library and tools.
> Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
> - 2004, 2005, 2007, 2008, 2009, 2010
> + 2004, 2005, 2007, 2008, 2009, 2010, 2011
> Free Software Foundation, Inc.
>
> This file is part of GCC.
> @@ -176,9 +176,6 @@ along with GCC; see the file COPYING3.
> #undef LONG_TYPE_SIZE
> #define LONG_TYPE_SIZE 32
>
> -union tree_node;
> -#define TREE union tree_node *
> -
> #define drectve_section() \
> (fprintf (asm_out_file, "\t.section .drectve\n"), \
> in_section = NULL)
> @@ -472,9 +469,3 @@ do { \
>
> /* Static stack checking is supported by means of probes. */
> #define STACK_CHECK_STATIC_BUILTIN 1
> -
> -#undef TREE
> -
> -#ifndef BUFSIZ
> -# undef FILE
> -#endif
> Index: gcc/config/rx/rx-protos.h
> ===================================================================
> --- gcc/config/rx/rx-protos.h (revision 172767)
> +++ gcc/config/rx/rx-protos.h (working copy)
> @@ -21,11 +21,6 @@
> #ifndef GCC_RX_PROTOS_H
> #define GCC_RX_PROTOS_H
>
> -/* A few abbreviations to make the prototypes shorter. */
> -#define Mmode enum machine_mode
> -#define Fargs CUMULATIVE_ARGS
> -#define Rcode enum rtx_code
> -
> extern int rx_align_for_label (void);
> extern void rx_expand_prologue (void);
> extern int rx_initial_elimination_offset (int, int);
> @@ -37,11 +32,13 @@ extern void rx_emit_stack_pu
> extern void rx_expand_epilogue (bool);
> extern char * rx_gen_move_template (rtx *, bool);
> extern bool rx_is_legitimate_constant (rtx);
> -extern bool rx_is_restricted_memory_address (rtx, Mmode);
> -extern bool rx_match_ccmode (rtx, Mmode);
> +extern bool rx_is_restricted_memory_address (rtx,
> + enum machine_mode);
> +extern bool rx_match_ccmode (rtx, enum machine_mode);
> extern void rx_notice_update_cc (rtx body, rtx insn);
> -extern void rx_split_cbranch (Mmode, Rcode, rtx, rtx, rtx);
> -extern Mmode rx_select_cc_mode (Rcode, rtx, rtx);
> +extern void rx_split_cbranch (enum machine_mode, enum rtx_code,
> + rtx, rtx, rtx);
> +extern enum machine_mode rx_select_cc_mode (enum rtx_code, rtx, rtx);
> #endif
>
> #endif /* GCC_RX_PROTOS_H */
> Index: gcc/config/rx/rx.c
> ===================================================================
> --- gcc/config/rx/rx.c (revision 172767)
> +++ gcc/config/rx/rx.c (working copy)
> @@ -78,7 +78,8 @@ rx_small_data_operand (rtx op)
> }
>
> static bool
> -rx_is_legitimate_address (Mmode mode, rtx x, bool strict ATTRIBUTE_UNUSED)
> +rx_is_legitimate_address (enum machine_mode mode, rtx x,
> + bool strict ATTRIBUTE_UNUSED)
> {
> if (RTX_OK_FOR_BASE (x, strict))
> /* Register Indirect. */
> @@ -809,7 +810,7 @@ rx_round_up (unsigned int value, unsigne
> occupied by an argument of type TYPE and mode MODE. */
>
> static unsigned int
> -rx_function_arg_size (Mmode mode, const_tree type)
> +rx_function_arg_size (enum machine_mode mode, const_tree type)
> {
> unsigned int num_bytes;
>
> @@ -829,7 +830,8 @@ rx_function_arg_size (Mmode mode, const_
> variable parameter list. */
>
> static rtx
> -rx_function_arg (Fargs * cum, Mmode mode, const_tree type, bool named)
> +rx_function_arg (CUMULATIVE_ARGS * cum, enum machine_mode mode,
> + const_tree type, bool named)
> {
> unsigned int next_reg;
> unsigned int bytes_so_far = *cum;
> @@ -866,14 +868,14 @@ rx_function_arg (Fargs * cum, Mmode mode
> }
>
> static void
> -rx_function_arg_advance (Fargs * cum, Mmode mode, const_tree type,
> - bool named ATTRIBUTE_UNUSED)
> +rx_function_arg_advance (CUMULATIVE_ARGS * cum, enum machine_mode mode,
> + const_tree type, bool named ATTRIBUTE_UNUSED)
> {
> *cum += rx_function_arg_size (mode, type);
> }
>
> static unsigned int
> -rx_function_arg_boundary (Mmode mode ATTRIBUTE_UNUSED,
> +rx_function_arg_boundary (enum machine_mode mode ATTRIBUTE_UNUSED,
> const_tree type ATTRIBUTE_UNUSED)
> {
> return 32;
> Index: gcc/config/sh/sh-protos.h
> ===================================================================
> --- gcc/config/sh/sh-protos.h (revision 172767)
> +++ gcc/config/sh/sh-protos.h (working copy)
> @@ -51,7 +51,7 @@ extern const char *output_movedouble (rt
> extern const char *output_movepcrel (rtx, rtx[], enum machine_mode);
> extern const char *output_far_jump (rtx, rtx);
>
> -extern struct rtx_def *sfunc_uses_reg (rtx);
> +extern rtx sfunc_uses_reg (rtx);
> extern int barrier_align (rtx);
> extern int sh_loop_align (rtx);
> extern int fp_zero_operand (rtx);
> @@ -126,7 +126,7 @@ extern bool sh_vector_mode_supported_p (
>
> extern const char *output_jump_label_table (void);
> extern int sh_handle_pragma (int (*)(void), void (*)(int), const char *);
> -extern struct rtx_def *get_fpscr_rtx (void);
> +extern rtx get_fpscr_rtx (void);
> extern int sh_media_register_for_return (void);
> extern void sh_expand_prologue (void);
> extern void sh_expand_epilogue (bool);
> Index: gcc/config/sh/sh.h
> ===================================================================
> --- gcc/config/sh/sh.h (revision 172767)
> +++ gcc/config/sh/sh.h (working copy)
> @@ -2305,8 +2305,8 @@ struct sh_args {
> final_prescan_insn ((INSN), (OPVEC), (NOPERANDS))
>
>
> -extern struct rtx_def *sh_compare_op0;
> -extern struct rtx_def *sh_compare_op1;
> +extern rtx sh_compare_op0;
> +extern rtx sh_compare_op1;
>
> /* Which processor to schedule for. The elements of the enumeration must
> match exactly the cpu attribute in the sh.md file. */
> Index: gcc/config/pdp11/pdp11.h
> ===================================================================
> --- gcc/config/pdp11/pdp11.h (revision 172767)
> +++ gcc/config/pdp11/pdp11.h (working copy)
> @@ -508,7 +508,7 @@ extern int may_call_alloca;
>
>
> /* Tell emit-rtl.c how to initialize special values on a per-function base. */
> -extern struct rtx_def *cc0_reg_rtx;
> +extern rtx cc0_reg_rtx;
>
> #define CC_STATUS_MDEP rtx
>
> Index: gcc/config/microblaze/microblaze.h
> ===================================================================
> --- gcc/config/microblaze/microblaze.h (revision 172767)
> +++ gcc/config/microblaze/microblaze.h (working copy)
> @@ -473,7 +473,7 @@ typedef struct microblaze_args
> /* Adjustments made to args pass in regs. */
> /* ??? The size is doubled to work around a bug in the code that sets the
> adjustments in function_arg. */
> - struct rtx_def *adjust[MAX_ARGS_IN_REGISTERS * 2];
> + rtx adjust[MAX_ARGS_IN_REGISTERS * 2];
> } CUMULATIVE_ARGS;
>
> #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,FNDECL,N_NAMED_ARGS) \
> Index: gcc/config/fr30/fr30.h
> ===================================================================
> --- gcc/config/fr30/fr30.h (revision 172767)
> +++ gcc/config/fr30/fr30.h (working copy)
> @@ -845,11 +845,6 @@ fprintf (STREAM, "\t.word .L%d\n", VALUE
> `QImode'. */
> #define FUNCTION_MODE QImode
>
> -/* If cross-compiling, don't require stdio.h etc to build libgcc.a. */
> -#if defined CROSS_DIRECTORY_STRUCTURE && ! defined inhibit_libc
> -#define inhibit_libc
> -#endif
> -
> /*}}}*/
>
> /* Local Variables: */
> Index: gcc/config/fr30/fr30-protos.h
> ===================================================================
> --- gcc/config/fr30/fr30-protos.h (revision 172767)
> +++ gcc/config/fr30/fr30-protos.h (working copy)
> @@ -1,5 +1,5 @@
> /* Prototypes for fr30.c functions used in the md file & elsewhere.
> - Copyright (C) 1999, 2000, 2002, 2004, 2007, 2010
> + Copyright (C) 1999, 2000, 2002, 2004, 2007, 2010, 2011
> Free Software Foundation, Inc.
>
> This file is part of GCC.
> @@ -28,8 +28,6 @@ extern void fr30_print_operand (FILE *,
> extern void fr30_print_operand_address (FILE *, rtx);
> extern rtx fr30_move_double (rtx *);
> #ifdef HAVE_MACHINE_MODES
> -#define Mmode enum machine_mode
> extern int fr30_const_double_is_zero (rtx);
> -#undef Mmode
> #endif /* HAVE_MACHINE_MODES */
> #endif /* RTX_CODE */
> Index: gcc/config/cris/cris-protos.h
> ===================================================================
> --- gcc/config/cris/cris-protos.h (revision 172767)
> +++ gcc/config/cris/cris-protos.h (working copy)
> @@ -1,5 +1,6 @@
> /* Definitions for GCC. Part of the machine description for CRIS.
> - Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2007, 2009, 2010
> + Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2007, 2009, 2010,
> + 2011
> Free Software Foundation, Inc.
> Contributed by Axis Communications.
>
> @@ -21,10 +22,6 @@ along with GCC; see the file COPYING3.
>
> /* Prototypes for the CRIS port. */
>
> -#if defined(FILE) || defined(stdin) || defined(stdout) || defined(getc) || defined(putc)
> -#define STDIO_INCLUDED
> -#endif
> -
> extern bool cris_simple_epilogue (void);
> #ifdef RTX_CODE
> extern const char *cris_op_str (rtx);
> Index: gcc/config/iq2000/iq2000.h
> ===================================================================
> --- gcc/config/iq2000/iq2000.h (revision 172767)
> +++ gcc/config/iq2000/iq2000.h (working copy)
> @@ -314,7 +314,7 @@ typedef struct iq2000_args
> int fp_code; /* Mode of FP arguments. */
> unsigned int num_adjusts; /* Number of adjustments made. */
> /* Adjustments made to args pass in regs. */
> - struct rtx_def * adjust[MAX_ARGS_IN_REGISTERS * 2];
> + rtx adjust[MAX_ARGS_IN_REGISTERS * 2];
> } CUMULATIVE_ARGS;
>
> /* Initialize a variable CUM of type CUMULATIVE_ARGS
> Index: gcc/config/mn10300/mn10300-protos.h
> ===================================================================
> --- gcc/config/mn10300/mn10300-protos.h (revision 172767)
> +++ gcc/config/mn10300/mn10300-protos.h (working copy)
> @@ -1,5 +1,5 @@
> /* Definitions of target machine for GNU compiler. Matsushita MN10300 series
> - Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010
> + Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010, 2011
> Free Software Foundation, Inc.
> Contributed by Jeff Law (law@cygnus.com).
>
> @@ -19,29 +19,26 @@
> along with GCC; see the file COPYING3. If not see
> <http://www.gnu.org/licenses/>. */
>
> -#define Mmode enum machine_mode
> -#define Cstar const char *
> -#define Rclas enum reg_class
> -
> #ifdef RTX_CODE
> extern rtx mn10300_legitimize_pic_address (rtx, rtx);
> extern int mn10300_legitimate_pic_operand_p (rtx);
> -extern rtx mn10300_legitimize_reload_address (rtx, Mmode, int, int, int);
> +extern rtx mn10300_legitimize_reload_address (rtx, enum machine_mode,
> + int, int, int);
> extern bool mn10300_function_value_regno_p (const unsigned int);
> extern int mn10300_get_live_callee_saved_regs (void);
> -extern bool mn10300_hard_regno_mode_ok (unsigned int, Mmode);
> +extern bool mn10300_hard_regno_mode_ok (unsigned int, enum machine_mode);
> extern bool mn10300_legitimate_constant_p (rtx);
> -extern bool mn10300_modes_tieable (Mmode, Mmode);
> -extern Cstar mn10300_output_add (rtx[3], bool);
> +extern bool mn10300_modes_tieable (enum machine_mode, enum machine_mode);
> +extern const char *mn10300_output_add (rtx[3], bool);
> extern void mn10300_print_operand (FILE *, rtx, int);
> extern void mn10300_print_operand_address (FILE *, rtx);
> extern void mn10300_print_reg_list (FILE *, int);
> -extern Mmode mn10300_select_cc_mode (enum rtx_code, rtx, rtx);
> -extern int mn10300_store_multiple_operation (rtx, Mmode);
> -extern int mn10300_symbolic_operand (rtx, Mmode);
> -extern void mn10300_split_cbranch (Mmode, rtx, rtx);
> +extern enum machine_mode mn10300_select_cc_mode (enum rtx_code, rtx, rtx);
> +extern int mn10300_store_multiple_operation (rtx, enum machine_mode);
> +extern int mn10300_symbolic_operand (rtx, enum machine_mode);
> +extern void mn10300_split_cbranch (enum machine_mode, rtx, rtx);
> extern int mn10300_split_and_operand_count (rtx);
> -extern bool mn10300_match_ccmode (rtx, Mmode);
> +extern bool mn10300_match_ccmode (rtx, enum machine_mode);
> #endif /* RTX_CODE */
>
> extern bool mn10300_regno_in_class_p (unsigned, int, bool);
> @@ -51,7 +48,3 @@ extern void mn10300_expand_prologue (vo
> extern void mn10300_expand_epilogue (void);
> extern int mn10300_initial_offset (int, int);
> extern int mn10300_frame_size (void);
> -
> -#undef Mmode
> -#undef Cstar
> -#undef Rclas
> Index: gcc/config/pa/pa-protos.h
> ===================================================================
> --- gcc/config/pa/pa-protos.h (revision 172767)
> +++ gcc/config/pa/pa-protos.h (working copy)
> @@ -1,5 +1,5 @@
> /* Prototypes for pa.c functions used in the md file & elsewhere.
> - Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010
> + Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010, 2011
> Free Software Foundation,
> Inc.
>
> @@ -72,7 +72,7 @@ extern int attr_length_save_restore_dltp
>
> /* Declare functions defined in pa.c and used in templates. */
>
> -extern struct rtx_def *return_addr_rtx (int, rtx);
> +extern rtx return_addr_rtx (int, rtx);
>
> #ifdef ARGS_SIZE_RTX
> /* expr.h defines ARGS_SIZE_RTX and `enum direction' */
> Index: gcc/config/pa/pa.h
> ===================================================================
> --- gcc/config/pa/pa.h (revision 172767)
> +++ gcc/config/pa/pa.h (working copy)
> @@ -351,7 +351,7 @@ typedef struct GTY(()) machine_function
>
> /* Function to return the rtx used to save the pic offset table register
> across function calls. */
> -extern struct rtx_def *hppa_pic_save_rtx (void);
> +extern rtx hppa_pic_save_rtx (void);
>
> #define DEFAULT_PCC_STRUCT_RETURN 0
>
> Index: gcc/config/h8300/h8300.h
> ===================================================================
> --- gcc/config/h8300/h8300.h (revision 172767)
> +++ gcc/config/h8300/h8300.h (working copy)
> @@ -463,7 +463,7 @@ enum reg_class {
> struct cum_arg
> {
> int nbytes;
> - struct rtx_def *libcall;
> + rtx libcall;
> };
>
> /* Initialize a variable CUM of type CUMULATIVE_ARGS
> Index: gcc/config/v850/v850.h
> ===================================================================
> --- gcc/config/v850/v850.h (revision 172767)
> +++ gcc/config/v850/v850.h (working copy)
> @@ -917,8 +917,8 @@ typedef struct data_area_stack_element
> extern data_area_stack_element * data_area_stack;
>
> /* Names of the various data areas used on the v850. */
> -extern union tree_node * GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
> -extern union tree_node * GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
> +extern tree GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
> +extern tree GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
>
> /* The assembler op to start the file. */
>
> Index: gcc/config/v850/v850-protos.h
> ===================================================================
> --- gcc/config/v850/v850-protos.h (revision 172767)
> +++ gcc/config/v850/v850-protos.h (working copy)
> @@ -23,8 +23,6 @@
> #ifndef GCC_V850_PROTOS_H
> #define GCC_V850_PROTOS_H
>
> -#define Mmode enum machine_mode
> -
> extern void expand_prologue (void);
> extern void expand_epilogue (void);
> extern int v850_handle_pragma (int (*)(void), void (*)(int), char *);
> @@ -41,12 +39,14 @@ extern char * construct_restore_jr
> #ifdef HAVE_MACHINE_MODES
> extern char * construct_dispose_instruction (rtx);
> extern char * construct_prepare_instruction (rtx);
> -extern int ep_memory_operand (rtx, Mmode, int);
> -extern int v850_float_z_comparison_operator (rtx, Mmode);
> -extern int v850_float_nz_comparison_operator (rtx, Mmode);
> -extern rtx v850_gen_compare (enum rtx_code, Mmode, rtx, rtx);
> -extern Mmode v850_gen_float_compare (enum rtx_code, Mmode, rtx, rtx);
> -extern Mmode v850_select_cc_mode (RTX_CODE, rtx, rtx);
> +extern int ep_memory_operand (rtx, enum machine_mode, int);
> +extern int v850_float_z_comparison_operator (rtx, enum machine_mode);
> +extern int v850_float_nz_comparison_operator (rtx, enum machine_mode);
> +extern rtx v850_gen_compare (enum rtx_code, enum machine_mode,
> + rtx, rtx);
> +extern enum machine_mode v850_gen_float_compare (enum rtx_code,
> + enum machine_mode, rtx, rtx);
> +extern enum machine_mode v850_select_cc_mode (RTX_CODE, rtx, rtx);
> #endif
> #endif /* RTX_CODE */
>
> @@ -67,6 +67,4 @@ extern void ghs_pragma_endtda (stru
> extern void ghs_pragma_endsda (struct cpp_reader *);
> extern void ghs_pragma_endzda (struct cpp_reader *);
>
> -#undef Mmode
> -
> #endif /* ! GCC_V850_PROTOS_H */
> Index: gcc/config/bfin/bfin-protos.h
> ===================================================================
> --- gcc/config/bfin/bfin-protos.h (revision 172767)
> +++ gcc/config/bfin/bfin-protos.h (working copy)
> @@ -1,5 +1,6 @@
> /* Prototypes for Blackfin functions used in the md file & elsewhere.
> - Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
> + Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
> + Free Software Foundation, Inc.
>
> This file is part of GNU CC.
>
> @@ -63,8 +64,6 @@
> #define ENABLE_WA_05000074 \
> (bfin_workarounds & WA_05000074)
>
> -#define Mmode enum machine_mode
> -
> extern bool function_arg_regno_p (int);
>
> extern const char *output_load_immediate (rtx *);
> @@ -74,14 +73,14 @@ extern char *bfin_asm_short (void);
> extern int log2constp (unsigned HOST_WIDE_INT);
>
> extern bool bfin_legitimate_constant_p (rtx);
> -extern int hard_regno_mode_ok (int, Mmode);
> +extern int hard_regno_mode_ok (int, enum machine_mode);
> extern void init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx);
> extern HOST_WIDE_INT bfin_initial_elimination_offset (int, int);
>
> -extern int effective_address_32bit_p (rtx, Mmode);
> +extern int effective_address_32bit_p (rtx, enum machine_mode);
> extern int symbolic_reference_mentioned_p (rtx);
> -extern rtx bfin_gen_compare (rtx, Mmode);
> -extern bool expand_move (rtx *, Mmode);
> +extern rtx bfin_gen_compare (rtx, enum machine_mode);
> +extern bool expand_move (rtx *, enum machine_mode);
> extern void bfin_expand_call (rtx, rtx, rtx, rtx, int);
> extern bool bfin_longcall_p (rtx, int);
> extern bool bfin_dsp_memref_p (rtx);
> @@ -90,9 +89,11 @@ extern bool bfin_expand_movmem (rtx, rtx
> extern int bfin_register_move_cost (enum machine_mode, enum reg_class,
> enum reg_class);
> extern int bfin_memory_move_cost (enum machine_mode, enum reg_class, int in);
> -extern enum reg_class secondary_input_reload_class (enum reg_class, Mmode,
> +extern enum reg_class secondary_input_reload_class (enum reg_class,
> + enum machine_mode,
> rtx);
> -extern enum reg_class secondary_output_reload_class (enum reg_class, Mmode,
> +extern enum reg_class secondary_output_reload_class (enum reg_class,
> + enum machine_mode,
> rtx);
> extern char *section_asm_op_1 (SECT_ENUM_T);
> extern char *section_asm_op (SECT_ENUM_T);
> @@ -100,23 +101,22 @@ extern void print_operand (FILE *, rtx,
> extern void print_address_operand (FILE *, rtx);
> extern void split_di (rtx [], int, rtx [], rtx []);
> extern int split_load_immediate (rtx []);
> -extern void emit_pic_move (rtx *, Mmode);
> +extern void emit_pic_move (rtx *, enum machine_mode);
> extern void asm_conditional_branch (rtx, rtx *, int, int);
> -extern rtx bfin_gen_compare (rtx, Mmode);
> +extern rtx bfin_gen_compare (rtx, enum machine_mode);
>
> extern unsigned bfin_local_alignment (tree, unsigned);
> extern rtx bfin_va_arg (tree, tree);
>
> extern void bfin_expand_prologue (void);
> extern void bfin_expand_epilogue (int, int, bool);
> -extern int push_multiple_operation (rtx, Mmode);
> -extern int pop_multiple_operation (rtx, Mmode);
> +extern int push_multiple_operation (rtx, enum machine_mode);
> +extern int pop_multiple_operation (rtx, enum machine_mode);
> extern void output_push_multiple (rtx, rtx *);
> extern void output_pop_multiple (rtx, rtx *);
> extern int bfin_hard_regno_rename_ok (unsigned int, unsigned int);
> extern rtx bfin_return_addr_rtx (int);
> extern void bfin_hardware_loop (void);
> -#undef Mmode
>
> #endif
>
> Index: gcc/config/bfin/bfin.h
> ===================================================================
> --- gcc/config/bfin/bfin.h (revision 172767)
> +++ gcc/config/bfin/bfin.h (working copy)
> @@ -1144,7 +1144,7 @@ do { \
> #define ASM_OUTPUT_REG_PUSH(FILE, REGNO) fprintf (FILE, "[SP--] = %s;\n", reg_names[REGNO])
> #define ASM_OUTPUT_REG_POP(FILE, REGNO) fprintf (FILE, "%s = [SP++];\n", reg_names[REGNO])
>
> -extern struct rtx_def *bfin_cc_rtx, *bfin_rets_rtx;
> +extern rtx bfin_cc_rtx, bfin_rets_rtx;
>
> /* This works for GAS and some other assemblers. */
> #define SET_ASM_OP ".set "
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
>
next prev parent reply other threads:[~2011-04-21 9:10 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-02 17:06 Joseph S. Myers
2011-04-02 17:16 ` Paul Koning
2011-04-04 10:33 ` Joseph S. Myers
2011-04-08 18:46 ` Ping " Joseph S. Myers
2011-04-08 19:14 ` Mike Stump
2011-04-20 21:26 ` Ping^2 " Joseph S. Myers
2011-04-20 22:05 ` DJ Delorie
2011-04-21 4:27 ` Paul Koning
2011-04-21 9:31 ` Richard Guenther [this message]
2011-04-21 11:37 ` Joseph S. Myers
2011-04-21 11:50 ` Kai Tietz
2011-04-22 4:59 ` Jie Zhang
2011-04-26 17:40 ` Christopher Faylor
2011-05-04 3:15 ` Alexandre Oliva
2011-04-26 15:48 ` Ping^3 " Joseph S. Myers
2011-04-26 16:32 ` Nick Clifton
2011-04-26 16:48 ` Joseph S. Myers
2011-05-02 15:22 ` Ping^4 " Joseph S. Myers
2011-05-02 15:27 ` Richard Guenther
2011-05-02 18:22 ` Bernd Schmidt
2011-05-03 8:16 ` Nick Clifton
2011-04-12 1:08 ` Hans-Peter Nilsson
2011-04-12 12:08 ` Joseph S. Myers
2011-04-12 12:14 ` Andreas Schwab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BANLkTik8Dw5cR0o+UPKt0KzpYUo6JZibTw@mail.gmail.com \
--to=richard.guenther@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=joseph@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).