summaryrefslogtreecommitdiff
path: root/gcc/config/mep/mep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/mep/mep.c')
-rw-r--r--gcc/config/mep/mep.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 3f50070df66..c55624b2eb1 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -295,16 +295,20 @@ mep_conditional_register_usage (void)
global_regs[i] = 1;
}
-static void
-mep_option_optimization (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED)
-{
- /* The first scheduling pass often increases register pressure and tends
- to result in more spill code. Only run it when specifically asked. */
- flag_schedule_insns = 0;
- /* Using $fp doesn't gain us much, even when debugging is important. */
- flag_omit_frame_pointer = 1;
-}
+static const struct default_options mep_option_optimization_table[] =
+ {
+ /* The first scheduling pass often increases register pressure and
+ tends to result in more spill code. Only run it when
+ specifically asked. */
+ { OPT_LEVELS_ALL, OPT_fschedule_insns, NULL, 0 },
+
+ /* Using $fp doesn't gain us much, even when debugging is
+ important. */
+ { OPT_LEVELS_ALL, OPT_fomit_frame_pointer, NULL, 1 },
+
+ { OPT_LEVELS_NONE, 0, NULL, 0 }
+ };
static void
mep_option_override (void)
@@ -7426,8 +7430,8 @@ mep_asm_init_sections (void)
#define TARGET_HANDLE_OPTION mep_handle_option
#undef TARGET_OPTION_OVERRIDE
#define TARGET_OPTION_OVERRIDE mep_option_override
-#undef TARGET_OPTION_OPTIMIZATION
-#define TARGET_OPTION_OPTIMIZATION mep_option_optimization
+#undef TARGET_OPTION_OPTIMIZATION_TABLE
+#define TARGET_OPTION_OPTIMIZATION_TABLE mep_option_optimization_table
#undef TARGET_DEFAULT_TARGET_FLAGS
#define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
#undef TARGET_ALLOCATE_INITIAL_VALUE