diff options
Diffstat (limited to 'gcc/config/ia64')
-rw-r--r-- | gcc/config/ia64/ia64-protos.h | 1 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 13 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.h | 12 | ||||
-rw-r--r-- | gcc/config/ia64/vms.h | 5 |
4 files changed, 12 insertions, 19 deletions
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h index 4fc6a425691..8a3ff4b8b08 100644 --- a/gcc/config/ia64/ia64-protos.h +++ b/gcc/config/ia64/ia64-protos.h @@ -99,7 +99,6 @@ extern void ia64_hpux_handle_builtin_pragma (struct cpp_reader *); extern void ia64_output_function_profiler (FILE *, int); extern void ia64_profile_hook (int); -extern void ia64_optimization_options (int, int); extern void ia64_init_expanders (void); extern rtx ia64_dconst_0_5 (void); diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index ab01a5588d3..d02d2b8fc3f 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -202,6 +202,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 void ia64_option_optimization (int, int); 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, @@ -361,6 +362,8 @@ static const struct attribute_spec ia64_attribute_table[] = #undef TARGET_OPTION_OVERRIDE #define TARGET_OPTION_OVERRIDE ia64_option_override +#undef TARGET_OPTION_OPTIMIZATION +#define TARGET_OPTION_OPTIMIZATION ia64_option_optimization #undef TARGET_ASM_FUNCTION_PROLOGUE #define TARGET_ASM_FUNCTION_PROLOGUE ia64_output_function_prologue @@ -10719,10 +10722,14 @@ ia64_invalid_binary_op (int op ATTRIBUTE_UNUSED, const_tree type1, const_tree ty } /* Implement overriding of the optimization options. */ -void -ia64_optimization_options (int level ATTRIBUTE_UNUSED, - int size ATTRIBUTE_UNUSED) +static void +ia64_option_optimization (int level ATTRIBUTE_UNUSED, + int size ATTRIBUTE_UNUSED) { +#ifdef SUBTARGET_OPTIMIZATION_OPTIONS + SUBTARGET_OPTIMIZATION_OPTIONS; +#endif + /* Let the scheduler form additional regions. */ set_param_value ("max-sched-extend-regions-iters", 2); diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 13aa2cd0e18..dbb5ebd434b 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -118,14 +118,6 @@ enum processor_type }; extern enum processor_type ia64_tune; - -/* 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 - command options have been parsed. Values set in this macro are used as the - default values for the other command line options. */ - -/* #define OPTIMIZATION_OPTIONS(LEVEL,SIZE) */ /* Driver configuration */ @@ -1897,8 +1889,4 @@ struct GTY(()) machine_function /* Switch on code for querying unit reservations. */ #define CPU_UNITS_QUERY 1 -/* Define this to change the optimizations performed by default. */ -#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \ - ia64_optimization_options ((LEVEL), (SIZE)) - /* End of ia64.h */ diff --git a/gcc/config/ia64/vms.h b/gcc/config/ia64/vms.h index 3d678ce5f85..e077e7d14f1 100644 --- a/gcc/config/ia64/vms.h +++ b/gcc/config/ia64/vms.h @@ -183,11 +183,10 @@ typedef struct crtl_name_spec } \ } while (0) -#undef OPTIMIZATION_OPTIONS -#define OPTIMIZATION_OPTIONS(LEVEL,SIZE) \ +#undef SUBTARGET_OPTIMIZATION_OPTIONS +#define SUBTARGET_OPTIMIZATION_OPTIONS \ do { \ flag_merge_constants = 0; \ - ia64_optimization_options ((LEVEL), (SIZE)); \ } while (0) /* Define this to be nonzero if static stack checking is supported. */ |