diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-13 07:21:35 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-13 07:21:35 +0000 |
commit | 55a97ca82bc388c612a4de28ad6c9054cd5baa9d (patch) | |
tree | 178289ddbae9b1681acb795ceac3e2606306ad77 | |
parent | f087c77a76eb89a97dc6b04866b21232fb58d816 (diff) | |
download | ppe42-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/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 11 |
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; |