Patchwork [MIPS] Hookize OVERRIDE_OPTIONS

login
register
mail settings
Submitter Anatoly Sokolov
Date Aug. 21, 2010, 9:08 a.m.
Message ID <1092650816.20100821130821@post.ru>
Download mbox | patch
Permalink /patch/62342/
State New
Headers show

Comments

Anatoly Sokolov - Aug. 21, 2010, 9:08 a.m.
Hi.

  This patch removes obsoleteOVERRIDE_OPTIONS macro from the MIPS back end in
the GCC and introduces equivalentTARGET_OPTION_OVERRIDE target hook.

  Bootstrapped and regression tested on mips64el-unknown-linux-gnu.

        * config/mips/mips.c (mips_override_options): Rename to...
        (mips_option_override): ...this. Make static.
        (TARGET_OPTION_OVERRIDE): Define.
        * config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
        * config/mips/mips-protos.h (mips_override_options): Remove.

Anatoly.
Richard Sandiford - Aug. 21, 2010, 9:17 a.m.
Anatoly Sokolov <aesok@post.ru> writes:
>         * config/mips/mips.c (mips_override_options): Rename to...
>         (mips_option_override): ...this. Make static.
>         (TARGET_OPTION_OVERRIDE): Define.
>         * config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
>         * config/mips/mips-protos.h (mips_override_options): Remove.

Please also change the reference to mips_override_options in
mips_in_small_data_p.  OK with that change, thanks.  Rebuilding
mips.o is enough to test the comment change.

For the record, I realise we still have SUBTARGET_OVERRIDE_OPTIONS
for VxWorks, but that's OK IMO.

Richard

Patch

Index: gcc/config/mips/mips-protos.h
===================================================================
--- gcc/config/mips/mips-protos.h       (revision 163362)
+++ gcc/config/mips/mips-protos.h       (working copy)
@@ -253,7 +253,6 @@ 
 extern bool mips_expand_ins_as_unaligned_store (rtx, rtx, HOST_WIDE_INT,
                                                HOST_WIDE_INT);
 extern bool mips_mem_fits_mode_p (enum machine_mode mode, rtx x);
-extern void mips_override_options (void);
 extern void mips_conditional_register_usage (void);
 extern void mips_order_regs_for_local_alloc (void);
 extern HOST_WIDE_INT mips_debugger_offset (rtx, HOST_WIDE_INT);
Index: gcc/config/mips/mips.c
===================================================================
--- gcc/config/mips/mips.c      (revision 163362)
+++ gcc/config/mips/mips.c      (working copy)
@@ -15471,10 +15471,10 @@ 
     }
 }
 
-/* Implement OVERRIDE_OPTIONS.  */
+/* Implement TARGET_OPTION_OVERRIDE.  */
 
-void
-mips_override_options (void)
+static void
+mips_option_override (void)
 {
   int i, start, regno, mode;
 
@@ -16346,6 +16346,9 @@ 
 #undef TARGET_ASM_ALIGNED_DI_OP
 #define TARGET_ASM_ALIGNED_DI_OP "\t.dword\t"
 
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE mips_option_override
+
 #undef TARGET_LEGITIMIZE_ADDRESS
 #define TARGET_LEGITIMIZE_ADDRESS mips_legitimize_address
 
Index: gcc/config/mips/mips.h
===================================================================
--- gcc/config/mips/mips.h      (revision 163362)
+++ gcc/config/mips/mips.h      (working copy)
@@ -1073,8 +1073,6 @@ 
 #define SWITCH_TAKES_ARG(CHAR)                                         \
   (DEFAULT_SWITCH_TAKES_ARG (CHAR) || (CHAR) == 'G')
 
-#define OVERRIDE_OPTIONS mips_override_options ()
-
 #define CONDITIONAL_REGISTER_USAGE mips_conditional_register_usage ()
 
 /* Show we can debug even without a frame pointer.  */
@@ -1521,7 +1519,7 @@ 
 
    Regarding coprocessor registers: without evidence to the contrary,
    it's best to assume that each coprocessor register has a unique
-   use.  This can be overridden, in, e.g., mips_override_options or
+   use.  This can be overridden, in, e.g., mips_option_override or
    CONDITIONAL_REGISTER_USAGE should the assumption be inappropriate
    for a particular target.  */