summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-13 07:21:35 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-13 07:21:35 +0000
commit55a97ca82bc388c612a4de28ad6c9054cd5baa9d (patch)
tree178289ddbae9b1681acb795ceac3e2606306ad77
parentf087c77a76eb89a97dc6b04866b21232fb58d816 (diff)
downloadppe42-gcc-55a97ca82bc388c612a4de28ad6c9054cd5baa9d.tar.gz
ppe42-gcc-55a97ca82bc388c612a4de28ad6c9054cd5baa9d.zip
* config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
optimized away. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38976 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/sh/sh.c11
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cb9b83535d0..e4ea11f2b79 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2001-01-13 Alexandre Oliva <aoliva@redhat.com>
+ * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
+ optimized away.
+
* config/sh/sh.c (mova_p): Fix test for mova_const.
2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 1526d78f930..d0142e6efe4 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -3969,7 +3969,16 @@ sh_expand_prologue ()
emit_insn (gen_GOTaddr2picreg ());
if (target_flags != save_flags)
- emit_insn (gen_toggle_sz ());
+ {
+ rtx insn = emit_insn (gen_toggle_sz ());
+
+ /* If we're lucky, a mode switch in the function body will
+ overwrite fpscr, turning this insn dead. Tell flow this
+ insn is ok to delete. */
+ REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD,
+ const0_rtx,
+ REG_NOTES (insn));
+ }
target_flags = save_flags;
OpenPOWER on IntegriCloud