summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-13 08:09:48 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-13 08:09:48 +0000
commit6dc67d01d7d02c79e734f9cff81b0bd1a397f96f (patch)
treef58e64fd6bb1732a1bcda17f885d7716e45f0a1a /gcc
parent55a97ca82bc388c612a4de28ad6c9054cd5baa9d (diff)
downloadppe42-gcc-6dc67d01d7d02c79e734f9cff81b0bd1a397f96f.tar.gz
ppe42-gcc-6dc67d01d7d02c79e734f9cff81b0bd1a397f96f.zip
* config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38977 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-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 e4ea11f2b79..6397f76150e 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 d0142e6efe4..ce50f519c45 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;
OpenPOWER on IntegriCloud