aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/config/sh/sh.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e4ea11f..6397f76 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,7 @@
2001-01-13 Alexandre Oliva <aoliva@redhat.com>
+ * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
+
* config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
optimized away.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index d0142e6..ce50f51 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -4048,6 +4048,10 @@ sh_expand_epilogue ()
/* Switch back to the normal stack if necessary. */
if (sp_switch)
emit_insn (gen_sp_switch_2 ());
+
+ /* Tell flow the insn that pops PR isn't dead. */
+ if (live_regs_mask & (1 << PR_REG))
+ emit_insn (gen_rtx_USE (VOIDmode, gen_rtx_REG (SImode, PR_REG)));
}
static int sh_need_epilogue_known = 0;