diff options
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 4 |
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; |