From b90dbca6f3b2770ce7b2553b06f8883d74f0ad0b Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sat, 13 Jan 2001 07:21:35 +0000 Subject: [PATCH] sh.c (sh_expand_prologue): Let the second toggle_sz be optimized away. * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be optimized away. From-SVN: r38976 --- gcc/ChangeLog | 3 +++ gcc/config/sh/sh.c | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) 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 + * 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 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; -- 2.30.2