summaryrefslogtreecommitdiff
path: root/gcc/config/i860
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i860')
-rw-r--r--gcc/config/i860/i860-protos.h3
-rw-r--r--gcc/config/i860/i860.c32
-rw-r--r--gcc/config/i860/i860.h21
3 files changed, 18 insertions, 38 deletions
diff --git a/gcc/config/i860/i860-protos.h b/gcc/config/i860/i860-protos.h
index ac91f43c8c0..42cbe184fae 100644
--- a/gcc/config/i860/i860-protos.h
+++ b/gcc/config/i860/i860-protos.h
@@ -59,6 +59,3 @@ extern rtx i860_va_arg PARAMS ((tree, tree));
#ifdef TREE_CODE
extern tree i860_build_va_list PARAMS ((void));
#endif /* TREE_CODE */
-
-extern void function_prologue PARAMS ((FILE *, unsigned));
-extern void function_epilogue PARAMS ((FILE *, unsigned));
diff --git a/gcc/config/i860/i860.c b/gcc/config/i860/i860.c
index fd04a3a30ab..ae72157e774 100644
--- a/gcc/config/i860/i860.c
+++ b/gcc/config/i860/i860.c
@@ -51,6 +51,8 @@ static const char *singlemove_string PARAMS ((rtx *));
static const char *load_opcode PARAMS ((enum machine_mode, const char *, rtx));
static const char *store_opcode PARAMS ((enum machine_mode, const char *, rtx));
static void output_size_for_block_move PARAMS ((rtx, rtx, rtx));
+static void i860_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT));
+static void i860_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT));
#ifndef I860_REG_PREFIX
#define I860_REG_PREFIX ""
@@ -63,6 +65,10 @@ const char *i860_reg_prefix = I860_REG_PREFIX;
rtx i860_compare_op0, i860_compare_op1;
/* Initialize the GCC target structure. */
+#undef TARGET_ASM_FUNCTION_PROLOGUE
+#define TARGET_ASM_FUNCTION_PROLOGUE i860_output_function_prologue
+#undef TARGET_ASM_FUNCTION_EPILOGUE
+#define TARGET_ASM_FUNCTION_EPILOGUE i860_output_function_epilogue
struct gcc_target target = TARGET_INITIALIZER;
@@ -1557,7 +1563,6 @@ sfmode_constant_to_ulong (x)
}
/* This function generates the assembly code for function entry.
- The macro FUNCTION_PROLOGUE in i860.h is defined to call this function.
ASM_FILE is a stdio stream to output the code to.
SIZE is an int: how many units of temporary storage to allocate.
@@ -1663,14 +1668,14 @@ char *current_function_original_name;
static int must_preserve_r1;
static unsigned must_preserve_bytes;
-void
-function_prologue (asm_file, local_bytes)
+static void
+i860_output_function_prologue (asm_file, local_bytes)
register FILE *asm_file;
- register unsigned local_bytes;
+ register HOST_WIDE_INT local_bytes;
{
- register unsigned frame_lower_bytes;
- register unsigned frame_upper_bytes;
- register unsigned total_fsize;
+ register HOST_WIDE_INT frame_lower_bytes;
+ register HOST_WIDE_INT frame_upper_bytes;
+ register HOST_WIDE_INT total_fsize;
register unsigned preserved_reg_bytes = 0;
register unsigned i;
register unsigned preserved_so_far = 0;
@@ -1929,7 +1934,6 @@ function_prologue (asm_file, local_bytes)
}
/* This function generates the assembly code for function exit.
- The macro FUNCTION_EPILOGUE in i860.h is defined to call this function.
ASM_FILE is a stdio stream to output the code to.
SIZE is an int: how many units of temporary storage to allocate.
@@ -1985,14 +1989,14 @@ typedef struct TDESC {
unsigned int negative_frame_size; /* same as frame_lower_bytes */
} TDESC;
-void
-function_epilogue (asm_file, local_bytes)
+static void
+i860_output_function_epilogue (asm_file, local_bytes)
register FILE *asm_file;
- register unsigned local_bytes;
+ register HOST_WIDE_INT local_bytes;
{
- register unsigned frame_upper_bytes;
- register unsigned frame_lower_bytes;
- register unsigned preserved_reg_bytes = 0;
+ register HOST_WIDE_INT frame_upper_bytes;
+ register HOST_WIDE_INT frame_lower_bytes;
+ register HOST_WIDE_INT preserved_reg_bytes = 0;
register unsigned i;
register unsigned restored_so_far = 0;
register unsigned int_restored;
diff --git a/gcc/config/i860/i860.h b/gcc/config/i860/i860.h
index 510a863b033..1f681314374 100644
--- a/gcc/config/i860/i860.h
+++ b/gcc/config/i860/i860.h
@@ -557,14 +557,6 @@ struct cumulative_args { int ints, floats; };
? PARM_BOUNDARY \
: GET_MODE_ALIGNMENT(MODE)))
-/* 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.
-*/
-
-#define FUNCTION_PROLOGUE(FILE, SIZE) function_prologue ((FILE), (SIZE))
-
/* Output a no-op just before the beginning of the function,
to ensure that there does not appear to be a delayed branch there.
Such a thing would confuse interrupt recovery. */
@@ -584,19 +576,6 @@ struct cumulative_args { int ints, floats; };
#define EXIT_IGNORE_STACK 1
-/* This macro generates the assembly code for function exit.
-
- FILE is a stdio stream to output the code to.
- SIZE is an int: how many units of temporary storage to allocate.
-
- 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) function_epilogue ((FILE), (SIZE))
-
/* Generate necessary RTL for __builtin_saveregs(). */
#define EXPAND_BUILTIN_SAVEREGS() \
i860_saveregs()