Patchwork [IA64] Hookize OVERRIDE_OPTIONS

login
register
mail settings
Submitter Anatoly Sokolov
Date July 7, 2010, 7:18 p.m.
Message ID <104346215.20100707231821@post.ru>
Download mbox | patch
Permalink /patch/58153/
State New
Headers show

Comments

Anatoly Sokolov - July 7, 2010, 7:18 p.m.
Hello.

  This patch removes obsolete  OVERRIDE_OPTIONS macro from IA64 back end in
the GCC and introduces equivalent TARGET_OPTION_OVERRIDE target hooks.

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

  OK to install?

        * config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
        * config/ia64/ia64-protos.h (ia64_override_options): Remove.
        * config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
        (ia64_override_options): Rename to...
        (ia64_option_override): ... this one. Make static. 



Anatoly.
Steve Ellcey - July 7, 2010, 8:33 p.m.
On Wed, 2010-07-07 at 23:18 +0400, Anatoly Sokolov wrote:
> Hello.
> 
>   This patch removes obsolete  OVERRIDE_OPTIONS macro from IA64 back end in
> the GCC and introduces equivalent TARGET_OPTION_OVERRIDE target hooks.
> 
>    Bootstrapped and regression tested on ia64-unknown-linux-gnu.
> 
>   OK to install?
> 
>         * config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
>         * config/ia64/ia64-protos.h (ia64_override_options): Remove.
>         * config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
>         (ia64_override_options): Rename to...
>         (ia64_option_override): ... this one. Make static. 

Yes, this patch is OK to install.

Steve Ellcey
sje@cup.hp.com

Patch

Index: gcc/config/ia64/ia64.c
===================================================================
--- gcc/config/ia64/ia64.c      (revision 161930)
+++ gcc/config/ia64/ia64.c      (working copy)
@@ -200,6 +200,7 @@ 
 static rtx gen_fr_spill_x (rtx, rtx, rtx);
 static rtx gen_fr_restore_x (rtx, rtx, rtx);
 
+static void ia64_option_override (void);
 static bool ia64_can_eliminate (const int, const int);
 static enum machine_mode hfa_element_mode (const_tree, bool);
 static void ia64_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode,
@@ -353,6 +354,9 @@ 
 #undef TARGET_ASM_INTEGER
 #define TARGET_ASM_INTEGER ia64_assemble_integer
 
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE ia64_option_override
+
 #undef TARGET_ASM_FUNCTION_PROLOGUE
 #define TARGET_ASM_FUNCTION_PROLOGUE ia64_output_function_prologue
 #undef TARGET_ASM_FUNCTION_END_PROLOGUE
@@ -5563,10 +5567,10 @@ 
     }
 }
 
-/* Implement OVERRIDE_OPTIONS.  */
+/* Implement TARGET_OPTION_OVERRIDE.  */
 
-void
-ia64_override_options (void)
+static void
+ia64_option_override (void)
 {
   if (TARGET_AUTO_PIC)
     target_flags |= MASK_CONST_GP;
Index: gcc/config/ia64/ia64.h
===================================================================
--- gcc/config/ia64/ia64.h      (revision 161930)
+++ gcc/config/ia64/ia64.h      (working copy)
@@ -116,13 +116,6 @@ 
 
 extern enum processor_type ia64_tune;
 
-/* Sometimes certain combinations of command options do not make sense on a
-   particular target machine.  You can define a macro `OVERRIDE_OPTIONS' to
-   take account of this.  This macro, if defined, is executed once just after
-   all the command options have been parsed.  */
-
-#define OVERRIDE_OPTIONS ia64_override_options ()
-
 /* Some machines may desire to change what optimizations are performed for
    various optimization levels.  This macro, if defined, is executed once just
    after the optimization level is determined and before the remainder of the
Index: gcc/config/ia64/ia64-protos.h
===================================================================
--- gcc/config/ia64/ia64-protos.h       (revision 161930)
+++ gcc/config/ia64/ia64-protos.h       (working copy)
@@ -86,7 +86,6 @@ 
 extern int ia64_eh_uses (int);
 extern void emit_safe_across_calls (void);
 extern void ia64_init_builtins (void);
-extern void ia64_override_options (void);
 extern int ia64_dbx_register_number (int);
 
 extern rtx ia64_return_addr_rtx (HOST_WIDE_INT, rtx);