params.c: Include common/common-target.h.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 23 Jun 2011 10:41:42 +0000 (11:41 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Thu, 23 Jun 2011 10:41:42 +0000 (11:41 +0100)
* params.c: Include common/common-target.h.  Don't include tm.h.
(lang_independent_params): Move from toplev.c.
(global_init_params): New.
* params.h (global_init_params): Declare.
* target.def (default_params): Move to common-target.def.
* toplev.c (lang_independent_options): Remove.
(lang_independent_params): Move to params.c.
(general_init): Use global_init_params.
* common/common-target.def (option_default_params): Move from
target.def.
* common/config/ia64/ia64-common.c: Include params.h.
(ia64_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
from ia64.c.
* common/config/rs6000/rs6000-common.c: Include params.h.
(rs6000_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
from rs6000.c.
* common/config/sh/sh-common.c: Include params.h.
(sh_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
from sh.c.
* common/config/spu/spu-common.c: Include params.h.
(spu_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
from spu.c.
* config/ia64/ia64.c (ia64_option_default_params,
TARGET_OPTION_DEFAULT_PARAMS): Move to ia64-common.c.
* config/rs6000/rs6000.c (rs6000_option_default_params,
TARGET_OPTION_DEFAULT_PARAMS): Move to rs6000-common.c.
* config/sh/sh.c (sh_option_default_params,
TARGET_OPTION_DEFAULT_PARAMS): Move to sh-common.c.
* config/spu/spu.c (spu_option_default_params,
TARGET_OPTION_DEFAULT_PARAMS): Move to spu-common.c.
* Makefile.in (OBJS): Remove params.o.
(OBJS-libcommon-target): Add params.o.
(params.o, $(common_out_object_file)): Update dependencies.
* doc/tm.texi: Regenerate.

From-SVN: r175330

16 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common/common-target.def
gcc/common/config/ia64/ia64-common.c
gcc/common/config/rs6000/rs6000-common.c
gcc/common/config/sh/sh-common.c
gcc/common/config/spu/spu-common.c
gcc/config/ia64/ia64.c
gcc/config/rs6000/rs6000.c
gcc/config/sh/sh.c
gcc/config/spu/spu.c
gcc/doc/tm.texi
gcc/params.c
gcc/params.h
gcc/target.def
gcc/toplev.c

index 059d71639077d5562a0e8ed7dc2150e9e9352c10..b298d5fbd785a2bdab3364045b9a7078f69eb0c4 100644 (file)
@@ -1,3 +1,40 @@
+2011-06-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * params.c: Include common/common-target.h.  Don't include tm.h.
+       (lang_independent_params): Move from toplev.c.
+       (global_init_params): New.
+       * params.h (global_init_params): Declare.
+       * target.def (default_params): Move to common-target.def.
+       * toplev.c (lang_independent_options): Remove.
+       (lang_independent_params): Move to params.c.
+       (general_init): Use global_init_params.
+       * common/common-target.def (option_default_params): Move from
+       target.def.
+       * common/config/ia64/ia64-common.c: Include params.h.
+       (ia64_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+       from ia64.c.
+       * common/config/rs6000/rs6000-common.c: Include params.h.
+       (rs6000_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+       from rs6000.c.
+       * common/config/sh/sh-common.c: Include params.h.
+       (sh_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+       from sh.c.
+       * common/config/spu/spu-common.c: Include params.h.
+       (spu_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+       from spu.c.
+       * config/ia64/ia64.c (ia64_option_default_params,
+       TARGET_OPTION_DEFAULT_PARAMS): Move to ia64-common.c.
+       * config/rs6000/rs6000.c (rs6000_option_default_params,
+       TARGET_OPTION_DEFAULT_PARAMS): Move to rs6000-common.c.
+       * config/sh/sh.c (sh_option_default_params,
+       TARGET_OPTION_DEFAULT_PARAMS): Move to sh-common.c.
+       * config/spu/spu.c (spu_option_default_params,
+       TARGET_OPTION_DEFAULT_PARAMS): Move to spu-common.c.
+       * Makefile.in (OBJS): Remove params.o.
+       (OBJS-libcommon-target): Add params.o.
+       (params.o, $(common_out_object_file)): Update dependencies.
+       * doc/tm.texi: Regenerate.
+
 2011-06-23  Alan Modra  <amodra@gmail.com>
 
        PR bootstrap/49383
index 1bb67477d7c7ba1b9f3754171a170c92917dab7e..968588016b74431575041edd2bfeb3287ed63ffb 100644 (file)
@@ -1355,7 +1355,6 @@ OBJS = \
        options-save.o \
        opts-global.o \
        opts.o \
-       params.o \
        passes.o \
        plugin.o \
        pointer-set.o \
@@ -1504,8 +1503,8 @@ OBJS-libcommon = diagnostic.o pretty-print.o intl.o input.o version.o
 
 # Objects in libcommon-target.a, used by drivers and by the core
 # compiler and containing target-dependent code.
-OBJS-libcommon-target = $(common_out_object_file) prefix.o opts-common.o \
-       options.o vec.o hooks.o common/common-targhooks.o
+OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
+       opts-common.o options.o vec.o hooks.o common/common-targhooks.o
 
 # This lists all host objects for the front ends.
 ALL_HOST_FRONTEND_OBJS = $(C_OBJS) \
@@ -3538,8 +3537,8 @@ ifcvt.o : ifcvt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TARGET_H) $(BASIC_BLOCK_H) $(EXPR_H) output.h $(EXCEPT_H) $(TM_P_H) \
    $(OPTABS_H) $(CFGLOOP_H) hard-reg-set.h $(TIMEVAR_H) \
    $(TREE_PASS_H) $(DF_H) $(DBGCNT_H)
-params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(PARAMS_H) \
-   $(DIAGNOSTIC_CORE_H)
+params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(COMMON_TARGET_H) \
+   $(PARAMS_H) $(DIAGNOSTIC_CORE_H)
 pointer-set.o: pointer-set.c pointer-set.h $(CONFIG_H) $(SYSTEM_H)
 hooks.o: hooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(HOOKS_H)
 pretty-print.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h intl.h $(PRETTY_PRINT_H)
@@ -3564,7 +3563,7 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
                $(out_file) $(OUTPUT_OPTION)
 
 $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \
-    coretypes.h $(COMMON_TARGET_H) $(COMMON_TARGET_DEF_H) \
+    coretypes.h $(COMMON_TARGET_H) $(COMMON_TARGET_DEF_H) $(PARAMS_H) \
     $(DIAGNOSTIC_CORE_H) $(FLAGS_H) $(OPTS_H) $(TM_H) $(TM_P_H) $(MACHMODE_H)
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
          $< $(OUTPUT_OPTION)
index ab89758221aec2a7c71f355f7adea7e1abbe0aaf..d8ede82e5b6bbc95f5214a6981d3045556ff4530 100644 (file)
@@ -50,6 +50,13 @@ DEFHOOKPOD
  "",
  const struct default_options *, empty_optimization_table)
 
+DEFHOOK
+(option_default_params,
+"Set target-dependent default values for @option{--param} settings, using\
+ calls to @code{set_default_param_value}.",
+ void, (void),
+ hook_void_void)
+
 /* The initial value of target_flags.  */
 DEFHOOKPOD
 (default_target_flags,
index 8c86ff49e6839b454026d93096770783ebf1630b..11682532704600f031f0c0e55baa53c52ee9fb03 100644 (file)
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "common/common-target-def.h"
 #include "opts.h"
 #include "flags.h"
+#include "params.h"
 
 /* Implement overriding of the optimization options.  */
 static const struct default_options ia64_option_optimization_table[] =
@@ -83,8 +84,25 @@ ia64_except_unwind_info (struct gcc_options *opts)
   return UI_TARGET;
 }
 
+/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
+
+static void
+ia64_option_default_params (void)
+{
+  /* Let the scheduler form additional regions.  */
+  set_default_param_value (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS, 2);
+
+  /* Set the default values for cache-related parameters.  */
+  set_default_param_value (PARAM_SIMULTANEOUS_PREFETCHES, 6);
+  set_default_param_value (PARAM_L1_CACHE_LINE_SIZE, 32);
+
+  set_default_param_value (PARAM_SCHED_MEM_TRUE_DEP_COST, 4);
+}
+
 #undef TARGET_OPTION_OPTIMIZATION_TABLE
 #define TARGET_OPTION_OPTIMIZATION_TABLE ia64_option_optimization_table
+#undef TARGET_OPTION_DEFAULT_PARAMS
+#define TARGET_OPTION_DEFAULT_PARAMS ia64_option_default_params
 
 #undef TARGET_EXCEPT_UNWIND_INFO
 #define TARGET_EXCEPT_UNWIND_INFO  ia64_except_unwind_info
index 0482c07d7a9261000db116b8fc070a54cc43ea83..683240f27ba6278cfa2677a8101ceee60c08a1ad 100644 (file)
@@ -28,6 +28,7 @@
 #include "common/common-target-def.h"
 #include "opts.h"
 #include "flags.h"
+#include "params.h"
 
 /* Implement TARGET_OPTION_OPTIMIZATION_TABLE.  */
 static const struct default_options rs6000_option_optimization_table[] =
@@ -51,6 +52,15 @@ rs6000_option_init_struct (struct gcc_options *opts)
     opts->x_flag_section_anchors = 1;
 }
 
+/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
+
+static void
+rs6000_option_default_params (void)
+{
+  /* Double growth factor to counter reduced min jump length.  */
+  set_default_param_value (PARAM_MAX_GROW_COPY_BB_INSNS, 16);
+}
+
 /* If not otherwise specified by a target, make 'long double' equivalent to
    'double'.  */
 
@@ -316,6 +326,9 @@ rs6000_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
 #undef TARGET_OPTION_INIT_STRUCT
 #define TARGET_OPTION_INIT_STRUCT rs6000_option_init_struct
 
+#undef TARGET_OPTION_DEFAULT_PARAMS
+#define TARGET_OPTION_DEFAULT_PARAMS rs6000_option_default_params
+
 #undef TARGET_OPTION_OPTIMIZATION_TABLE
 #define TARGET_OPTION_OPTIMIZATION_TABLE rs6000_option_optimization_table
 
index 8677fd491746ef59d7a6d731494a52784749b0a1..5a0c062e7093b7f23ec9b60645fa0372ba034f89 100644 (file)
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "common/common-target-def.h"
 #include "opts.h"
 #include "flags.h"
+#include "params.h"
 
 /* Set default optimization options.  */
 static const struct default_options sh_option_optimization_table[] =
@@ -196,10 +197,19 @@ sh_option_init_struct (struct gcc_options *opts)
   opts->x_flag_finite_math_only = 2;
 }
 
+/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
+static void
+sh_option_default_params (void)
+{
+  set_default_param_value (PARAM_SIMULTANEOUS_PREFETCHES, 2);
+}
+
 #undef TARGET_OPTION_OPTIMIZATION_TABLE
 #define TARGET_OPTION_OPTIMIZATION_TABLE sh_option_optimization_table
 #undef TARGET_OPTION_INIT_STRUCT
 #define TARGET_OPTION_INIT_STRUCT sh_option_init_struct
+#undef TARGET_OPTION_DEFAULT_PARAMS
+#define TARGET_OPTION_DEFAULT_PARAMS sh_option_default_params
 #undef TARGET_DEFAULT_TARGET_FLAGS
 #define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
 #undef TARGET_HANDLE_OPTION
index d4a9f3c7cd98b00a30c6bf05f9f015d361903c9f..421de7e847eff1596f23695385ef01f4e27047c6 100644 (file)
@@ -24,6 +24,7 @@
 #include "common/common-target-def.h"
 #include "opts.h"
 #include "flags.h"
+#include "params.h"
 
 static void
 spu_option_init_struct (struct gcc_options *opts)
@@ -32,12 +33,24 @@ spu_option_init_struct (struct gcc_options *opts)
   opts->x_flag_rename_registers = 1;
 }
 
+/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
+static void
+spu_option_default_params (void)
+{
+  /* Override some of the default param values.  With so many registers
+     larger values are better for these params.  */
+  set_default_param_value (PARAM_MAX_PENDING_LIST_LENGTH, 128);
+}
+
 #undef TARGET_DEFAULT_TARGET_FLAGS
 #define TARGET_DEFAULT_TARGET_FLAGS (TARGET_DEFAULT)
 
 #undef TARGET_OPTION_INIT_STRUCT
 #define TARGET_OPTION_INIT_STRUCT spu_option_init_struct
 
+#undef TARGET_OPTION_DEFAULT_PARAMS
+#define TARGET_OPTION_DEFAULT_PARAMS spu_option_default_params
+
 #undef TARGET_EXCEPT_UNWIND_INFO
 #define TARGET_EXCEPT_UNWIND_INFO  sjlj_except_unwind_info
 
index 78d2441a32c033582e25a7f45ef1ef695d82fc0c..901481358b3e31d16e4986e23d0d405f11f36ffb 100644 (file)
@@ -192,7 +192,6 @@ 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 void ia64_option_default_params (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_t, enum machine_mode,
@@ -377,8 +376,6 @@ static const struct attribute_spec ia64_attribute_table[] =
 
 #undef TARGET_OPTION_OVERRIDE
 #define TARGET_OPTION_OVERRIDE ia64_option_override
-#undef TARGET_OPTION_DEFAULT_PARAMS
-#define TARGET_OPTION_DEFAULT_PARAMS ia64_option_default_params
 
 #undef TARGET_ASM_FUNCTION_PROLOGUE
 #define TARGET_ASM_FUNCTION_PROLOGUE ia64_output_function_prologue
@@ -10859,20 +10856,6 @@ ia64_invalid_binary_op (int op ATTRIBUTE_UNUSED, const_tree type1, const_tree ty
   return NULL;
 }
 
-/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
-static void
-ia64_option_default_params (void)
-{
-  /* Let the scheduler form additional regions.  */
-  set_default_param_value (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS, 2);
-
-  /* Set the default values for cache-related parameters.  */
-  set_default_param_value (PARAM_SIMULTANEOUS_PREFETCHES, 6);
-  set_default_param_value (PARAM_L1_CACHE_LINE_SIZE, 32);
-
-  set_default_param_value (PARAM_SCHED_MEM_TRUE_DEP_COST, 4);
-}
-
 /* HP-UX version_id attribute.
    For object foo, if the version_id is set to 1234 put out an alias
    of '.alias foo "foo{1234}"  We can't use "foo{1234}" in anything
index b21cb7f37a94e9cd676a79831cc91cf8501e8fd8..a87280c8ec49c20aa6507d3b0c3ce826435cc76b 100644 (file)
@@ -1045,7 +1045,6 @@ static rtx altivec_expand_vec_set_builtin (tree);
 static rtx altivec_expand_vec_ext_builtin (tree, rtx);
 static int get_element_number (tree, tree);
 static void rs6000_option_override (void);
-static void rs6000_option_default_params (void);
 static int rs6000_loop_align_max_skip (rtx);
 static int first_altivec_reg_to_save (void);
 static unsigned int compute_vrsave_mask (void);
@@ -1528,9 +1527,6 @@ static const struct attribute_spec rs6000_attribute_table[] =
 #undef TARGET_OPTION_OVERRIDE
 #define TARGET_OPTION_OVERRIDE rs6000_option_override
 
-#undef TARGET_OPTION_DEFAULT_PARAMS
-#define TARGET_OPTION_DEFAULT_PARAMS rs6000_option_default_params
-
 #undef TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION
 #define TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION \
   rs6000_builtin_vectorized_function
@@ -3678,15 +3674,6 @@ rs6000_preferred_simd_mode (enum machine_mode mode)
   return word_mode;
 }
 
-/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
-
-static void
-rs6000_option_default_params (void)
-{
-  /* Double growth factor to counter reduced min jump length.  */
-  set_default_param_value (PARAM_MAX_GROW_COPY_BB_INSNS, 16);
-}
-
 /* Handler for the Mathematical Acceleration Subsystem (mass) interface to a
    library with vectorized intrinsics.  */
 
index 327a236a9e3060fa9e8bbf92b0451a42d5670265..d945156ee86e2298acca8c46ad4ea28d3d0f2eee 100644 (file)
@@ -182,7 +182,6 @@ static int noncall_uses_reg (rtx, rtx, rtx *);
 static rtx gen_block_redirect (rtx, int, int);
 static void sh_reorg (void);
 static void sh_option_override (void);
-static void sh_option_default_params (void);
 static void output_stack_adjust (int, rtx, int, HARD_REG_SET *, bool);
 static rtx frame_insn (rtx);
 static rtx push (int);
@@ -345,8 +344,6 @@ static const struct attribute_spec sh_attribute_table[] =
 
 #undef TARGET_OPTION_OVERRIDE
 #define TARGET_OPTION_OVERRIDE sh_option_override
-#undef TARGET_OPTION_DEFAULT_PARAMS
-#define TARGET_OPTION_DEFAULT_PARAMS sh_option_default_params
 
 #undef TARGET_PRINT_OPERAND
 #define TARGET_PRINT_OPERAND sh_print_operand
@@ -578,14 +575,6 @@ static const struct attribute_spec sh_attribute_table[] =
 
 struct gcc_target targetm = TARGET_INITIALIZER;
 \f
-\f
-/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
-static void
-sh_option_default_params (void)
-{
-  set_default_param_value (PARAM_SIMULTANEOUS_PREFETCHES, 2);
-}
-
 /* Implement TARGET_OPTION_OVERRIDE macro.  Validate and override 
    various options, and do some machine dependent initialization.  */
 static void
index 0da736c8be1d7ed73b3ca77d9b69df9e40c38d83..63985e1a76244d1099fef7a1fbec0d78bf5aa75e 100644 (file)
@@ -149,7 +149,6 @@ char regs_ever_allocated[FIRST_PSEUDO_REGISTER];
 
 /*  Prototypes and external defs.  */
 static void spu_option_override (void);
-static void spu_option_default_params (void);
 static void spu_init_builtins (void);
 static tree spu_builtin_decl (unsigned, bool);
 static bool spu_scalar_mode_supported_p (enum machine_mode mode);
@@ -487,9 +486,6 @@ static void spu_setup_incoming_varargs (cumulative_args_t cum,
 #undef TARGET_OPTION_OVERRIDE
 #define TARGET_OPTION_OVERRIDE spu_option_override
 
-#undef TARGET_OPTION_DEFAULT_PARAMS
-#define TARGET_OPTION_DEFAULT_PARAMS spu_option_default_params
-
 #undef TARGET_CONDITIONAL_REGISTER_USAGE
 #define TARGET_CONDITIONAL_REGISTER_USAGE spu_conditional_register_usage
 
@@ -508,15 +504,6 @@ static void spu_setup_incoming_varargs (cumulative_args_t cum,
 
 struct gcc_target targetm = TARGET_INITIALIZER;
 
-/* Implement TARGET_OPTION_DEFAULT_PARAMS.  */
-static void
-spu_option_default_params (void)
-{
-  /* Override some of the default param values.  With so many registers
-     larger values are better for these params.  */
-  set_default_param_value (PARAM_MAX_PENDING_LIST_LENGTH, 128);
-}
-
 /* Implement TARGET_OPTION_OVERRIDE.  */
 static void
 spu_option_override (void)
index dd61a224b6be507517c0c1bf4fc37f0bf33a86a3..341628bb3ea70196330446bcc148e829de656c07 100644 (file)
@@ -762,7 +762,7 @@ options are changed via @code{#pragma GCC optimize} or by using the
 Set target-dependent initial values of fields in @var{opts}.
 @end deftypefn
 
-@deftypefn {Target Hook} void TARGET_OPTION_DEFAULT_PARAMS (void)
+@deftypefn {Common Target Hook} void TARGET_OPTION_DEFAULT_PARAMS (void)
 Set target-dependent default values for @option{--param} settings, using calls to @code{set_default_param_value}.
 @end deftypefn
 
index 95af6cec0ed73105566947137c8980d30ed6c34b..793ddef924173e3057b2ade463dc14957953b6bf 100644 (file)
@@ -1,5 +1,5 @@
 /* params.c - Run-time parameters.
-   Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+   Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
    Free Software Foundation, Inc.
    Written by Mark Mitchell <mark@codesourcery.com>.
 
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
+#include "common/common-target.h"
 #include "params.h"
 #include "diagnostic-core.h"
 
@@ -38,6 +38,14 @@ static size_t num_compiler_params;
    default values determined.  */
 static bool params_finished;
 
+static const param_info lang_independent_params[] = {
+#define DEFPARAM(ENUM, OPTION, HELP, DEFAULT, MIN, MAX) \
+  { OPTION, DEFAULT, MIN, MAX, HELP },
+#include "params.def"
+#undef DEFPARAM
+  { NULL, 0, 0, 0, NULL }
+};
+
 /* Add the N PARAMS to the current list of compiler parameters.  */
 
 void
@@ -56,6 +64,16 @@ add_params (const param_info params[], size_t n)
   num_compiler_params += n;
 }
 
+/* Add all parameters and default values that can be set in both the
+   driver and the compiler proper.  */
+
+void
+global_init_params (void)
+{
+  add_params (lang_independent_params, LAST_PARAM);
+  targetm_common.option_default_params ();
+}
+
 /* Note that all parameters have been added and all default values
    set.  */
 
index 98a64fd0bb16187c26891d177328e45083f93713..364029df532c155377983f6c476e06b526956080 100644 (file)
@@ -105,6 +105,11 @@ extern void maybe_set_param_value (compiler_param num, int value,
 
 extern void set_default_param_value (compiler_param num, int value);
 
+/* Add all parameters and default values that can be set in both the
+   driver and the compiler proper.  */
+
+extern void global_init_params (void);
+
 /* Note that all parameters have been added and all default values
    set.  */
 extern void finish_params (void);
index c5acaabb1fe7ea20962d322f971d9962746089c2..c67f0bacf7f82c45f9dd677b27540fbfeaac5e06 100644 (file)
@@ -2545,13 +2545,6 @@ DEFHOOK
  void, (void),
  hook_void_void)
 
-DEFHOOK
-(default_params,
-"Set target-dependent default values for @option{--param} settings, using\
- calls to @code{set_default_param_value}.",
- void, (void),
- hook_void_void)
-
 /* Function to determine if one function can inline another function.  */
 #undef HOOK_PREFIX
 #define HOOK_PREFIX "TARGET_"
index 2597140b58c904907bb0b0fbae67e44bbeb8f150..8b02b382d60b9736577767fc6c506253b9beba33 100644 (file)
@@ -183,25 +183,9 @@ struct target_flag_state *this_target_flag_state = &default_target_flag_state;
 #define this_target_flag_state (&default_target_flag_state)
 #endif
 
-typedef struct
-{
-  const char *const string;
-  int *const variable;
-  const int on_value;
-}
-lang_independent_options;
-
 /* The user symbol prefix after having resolved same.  */
 const char *user_label_prefix;
 
-static const param_info lang_independent_params[] = {
-#define DEFPARAM(ENUM, OPTION, HELP, DEFAULT, MIN, MAX) \
-  { OPTION, DEFAULT, MIN, MAX, HELP },
-#include "params.def"
-#undef DEFPARAM
-  { NULL, 0, 0, 0, NULL }
-};
-
 /* Output files for assembler code (real compiler output)
    and debugging dumps.  */
 
@@ -1213,10 +1197,10 @@ general_init (const char *argv0)
   init_reg_sets ();
 
   /* Register the language-independent parameters.  */
-  add_params (lang_independent_params, LAST_PARAM);
-  targetm.target_option.default_params ();
+  global_init_params ();
 
-  /* This must be done after add_params but before argument processing.  */
+  /* This must be done after global_init_params but before argument
+     processing.  */
   init_ggc_heuristics();
   init_optimization_passes ();
   statistics_early_init ();