@@ -48,7 +48,6 @@
#include "langhooks.h"
#include "gimple.h"
#include "df.h"
-#include "opts.h"
/* Prototypes */
@@ -408,31 +407,8 @@ class_can_hold_mode (reg_class_t rclass,
Memregs are provided by m32c-lib1.S.
*/
-int target_memregs = 16;
-static bool target_memregs_set = FALSE;
int ok_to_change_target_memregs = TRUE;
-#undef TARGET_HANDLE_OPTION
-#define TARGET_HANDLE_OPTION m32c_handle_option
-static bool
-m32c_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
- const struct cl_decoded_option *decoded,
- location_t loc ATTRIBUTE_UNUSED)
-{
- size_t code = decoded->opt_index;
- const char *arg = decoded->arg;
-
- gcc_assert (opts == &global_options);
- gcc_assert (opts_set == &global_options_set);
-
- if (code == OPT_memregs_)
- {
- target_memregs_set = TRUE;
- target_memregs = atoi (arg);
- }
- return TRUE;
-}
-
/* Implements TARGET_OPTION_OVERRIDE. */
#undef TARGET_OPTION_OVERRIDE
@@ -442,7 +418,7 @@ static void
m32c_option_override (void)
{
/* We limit memregs to 0..16, and provide a default. */
- if (target_memregs_set)
+ if (global_options_set.x_target_memregs)
{
if (target_memregs < 0 || target_memregs > 16)
error ("invalid target memregs value '%d'", target_memregs);
@@ -86,7 +86,6 @@
beginning of the file. This variable starts off TRUE and later
becomes FALSE. */
extern int ok_to_change_target_memregs;
-extern int target_memregs;
/* TARGET_CPU is a multi-way option set in m32c.opt. While we could
use enums or defines for this, this and m32c.opt are the only
@@ -1,5 +1,5 @@
; Target Options for R8C/M16C/M32C
-; Copyright (C) 2005 2007
+; Copyright (C) 2005, 2007, 2011
; Free Software Foundation, Inc.
; Contributed by Red Hat.
;
@@ -40,5 +40,5 @@ Target RejectNegative Var(target_cpu,'3'
-mcpu=m32c Compile code for M32C variants
memregs=
-Target RejectNegative Joined Var(target_memregs_string)
+Target RejectNegative Joined UInteger Var(target_memregs) Init(16)
-memregs= Number of memreg bytes (default: 16, range: 0..16)