From 71641c15a697e6553cd3f27d104fb8a6aaeeab23 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 18 Feb 2001 12:44:44 -0800 Subject: [PATCH] * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to structure shift insns. From-SVN: r39848 --- gcc/ChangeLog | 7 ++++++- gcc/config/mips/mips.c | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6dad4f9e014..b7644844329 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -2001-02-17 Mark Mitchell +2001-02-18 Shane Nay + + * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to + structure shift insns. + +2001-02-18 Mark Mitchell * invoke.texi (-fsquangle): Remove documentation. (-fname-mangling-version): Likewise. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 1f19c98028e..74c548ca73d 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -7115,13 +7115,22 @@ mips_expand_prologue () for (i = 0; i < num; i++) { - rtx pattern = RTVEC_ELT (adjust, i); + rtx insn, pattern; + + pattern = RTVEC_ELT (adjust, i); if (GET_CODE (pattern) != SET || GET_CODE (SET_SRC (pattern)) != ASHIFT) abort_with_insn (pattern, "Insn is not a shift"); - PUT_CODE (SET_SRC (pattern), ASHIFTRT); - emit_insn (pattern); + + insn = emit_insn (pattern); + + /* Global life information isn't valid at this point, so we + can't check whether these shifts are actually used. Mark + them MAYBE_DEAD so that flow2 will remove them, and not + complain about dead code in the prologue. */ + REG_NOTES(insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, NULL_RTX, + REG_NOTES (insn)); } } -- 2.30.2