aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/arm.h15
2 files changed, 10 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 52bb93d..655af22 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2001-01-08 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (HARD_REGNO_RENAME_OK): Delete.
+ (EPILOGUE_USES): Define.
+ (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
+ automatically stack the LR if it isn't live.
+
Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 43d3138..2701e24 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1319,17 +1319,6 @@ enum reg_class
: \
((FROM) == HI_REGS || (TO) == HI_REGS) ? 4 : 2)
-/* Register Renaming Parameters. */
-
-/* A C expression that is nonzero if hard register number TO can be
- considered for use as a rename register for FROM.
-
- If the return register isn't already live, we mustn't use it. */
-
-#define HARD_REGNO_RENAME_OK(FROM,TO) \
- ((TO) != LR_REGNUM || regs_ever_live[LR_REGNUM])
-
-
/* Stack layout; function entry, exit and calling. */
/* Define this if pushing a word on the stack
@@ -1622,6 +1611,8 @@ typedef struct
#define FUNCTION_EPILOGUE(STREAM, SIZE) \
output_func_epilogue (SIZE)
+#define EPILOGUE_USES(REGNO) (reload_completed && (REGNO) == LR_REGNUM)
+
/* Determine if the epilogue should be output as RTL.
You should override this if you define FUNCTION_EXTRA_EPILOGUE. */
#define USE_RETURN_INSN(ISCOND) \
@@ -1712,7 +1703,7 @@ typedef struct
if (! frame_pointer_needed) \
offset -= 16; \
if (! volatile_func \
- && (regs_ever_live[LR_REGNUM] || saved_hard_reg)) \
+ && (regs_ever_live[LR_REGNUM] /*|| saved_hard_reg */)) \
offset += 4; \
offset += current_function_outgoing_args_size; \
(OFFSET) = ROUND_UP (get_frame_size ()) + offset; \