aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m32r
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/m32r')
-rw-r--r--gcc/config/m32r/m32r-protos.h2
-rw-r--r--gcc/config/m32r/m32r.c15
-rw-r--r--gcc/config/m32r/m32r.h22
3 files changed, 11 insertions, 28 deletions
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index a73b312..f0a1a5b 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -29,8 +29,6 @@ extern void m32r_init_expanders PARAMS ((void));
extern unsigned m32r_compute_frame_size PARAMS ((int));
extern int m32r_first_insn_address PARAMS ((void));
extern void m32r_expand_prologue PARAMS ((void));
-extern void m32r_output_function_prologue PARAMS ((FILE *, int));
-extern void m32r_output_function_epilogue PARAMS ((FILE *, int));
extern void m32r_finalize_pic PARAMS ((void));
extern void m32r_asm_file_start PARAMS ((FILE *));
extern void m32r_sched_init PARAMS ((FILE *, int));
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index ca213af..12dad0d 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -64,11 +64,18 @@ static void block_move_call PARAMS ((rtx, rtx, rtx));
static int m32r_is_insn PARAMS ((rtx));
static int m32r_valid_decl_attribute PARAMS ((tree, tree,
tree, tree));
+static void m32r_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT));
+static void m32r_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT));
/* Initialize the GCC target structure. */
#undef TARGET_VALID_DECL_ATTRIBUTE
#define TARGET_VALID_DECL_ATTRIBUTE m32r_valid_decl_attribute
+#undef TARGET_ASM_FUNCTION_PROLOGUE
+#define TARGET_ASM_FUNCTION_PROLOGUE m32r_output_function_prologue
+#undef TARGET_ASM_FUNCTION_EPILOGUE
+#define TARGET_ASM_FUNCTION_EPILOGUE m32r_output_function_epilogue
+
struct gcc_target target = TARGET_INITIALIZER;
/* Called by OVERRIDE_OPTIONS to initialize various things. */
@@ -1962,10 +1969,10 @@ m32r_expand_prologue ()
Note, if this is changed, you need to mirror the changes in
m32r_compute_frame_size which calculates the prolog size. */
-void
+static void
m32r_output_function_prologue (file, size)
FILE * file;
- int size;
+ HOST_WIDE_INT size;
{
enum m32r_function_type fn_type = m32r_compute_function_type (current_function_decl);
@@ -1992,10 +1999,10 @@ m32r_output_function_prologue (file, size)
/* Do any necessary cleanup after a function to restore stack, frame,
and regs. */
-void
+static void
m32r_output_function_epilogue (file, size)
FILE * file;
- int size ATTRIBUTE_UNUSED;
+ HOST_WIDE_INT size ATTRIBUTE_UNUSED;
{
int regno;
int noepilogue = FALSE;
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index dfe4f28..69efdb7 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -1190,34 +1190,12 @@ M32R_STACK_ALIGN (current_function_outgoing_args_size)
init_emit, once for each function, before code is generated. */
#define INIT_EXPANDERS m32r_init_expanders ()
-/* This macro generates the assembly code for function entry.
- FILE is a stdio stream to output the code to.
- SIZE is an int: how many units of temporary storage to allocate.
- Refer to the array `regs_ever_live' to determine which registers
- to save; `regs_ever_live[I]' is nonzero if register number I
- is ever used in the function. This macro is responsible for
- knowing which registers should not be saved even if used. */
-#define FUNCTION_PROLOGUE(FILE, SIZE) \
-m32r_output_function_prologue (FILE, SIZE)
-
/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function,
the stack pointer does not matter. The value is tested only in
functions that have frame pointers.
No definition is equivalent to always zero. */
#define EXIT_IGNORE_STACK 1
-/* This macro generates the assembly code for function exit,
- on machines that need it. If FUNCTION_EPILOGUE is not defined
- then individual return instructions are generated for each
- return statement. Args are same as for FUNCTION_PROLOGUE.
-
- The function epilogue should not depend on the current stack pointer!
- It should use the frame pointer only. This is mandatory because
- of alloca; we also take advantage of it to omit stack adjustments
- before returning. */
-#define FUNCTION_EPILOGUE(FILE, SIZE) \
-m32r_output_function_epilogue (FILE, SIZE)
-
/* Output assembler code to FILE to increment profiler label # LABELNO
for profiling a function entry. */
#define FUNCTION_PROFILER(FILE, LABELNO) abort ()