aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1996-07-23 17:04:53 -0700
committerJim Wilson <wilson@gcc.gnu.org>1996-07-23 17:04:53 -0700
commit38f357812dd409ab45c2bb04b372c9256c4ebc88 (patch)
tree28cffddfc39093d39d775d3479d6af924e737f2a /gcc
parent5bcff23f540c038c0175b32a54c1d1602f3fa8f6 (diff)
downloadgcc-38f357812dd409ab45c2bb04b372c9256c4ebc88.zip
gcc-38f357812dd409ab45c2bb04b372c9256c4ebc88.tar.gz
gcc-38f357812dd409ab45c2bb04b372c9256c4ebc88.tar.bz2
(reg_unused_after): Handle JUMP_INSN inside a sequence.
From-SVN: r12554
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sh/sh.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 6969a9c..6b8cc72 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -2339,6 +2339,12 @@ reg_unused_after (reg, insn)
if (GET_CODE (this_insn) == CALL_INSN)
code = CALL_INSN;
+ else if (GET_CODE (this_insn) == JUMP_INSN)
+ {
+ if (INSN_ANNULLED_BRANCH_P (this_insn))
+ return 0;
+ code = JUMP_INSN;
+ }
if (set && reg_overlap_mentioned_p (reg, SET_SRC (set)))
return 0;
@@ -2355,6 +2361,8 @@ reg_unused_after (reg, insn)
}
if (retval == 1)
return 1;
+ else if (code == JUMP_INSN)
+ return 0;
}
else if (GET_RTX_CLASS (code) == 'i')
{