From 9c07e4790f8d4f9d656febc37d5e93318c0a3ca0 Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Wed, 13 Oct 1999 17:28:29 +0000 Subject: [PATCH] regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we climb up the chain of insns. * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we climb up the chain of insns. From-SVN: r29949 --- gcc/ChangeLog | 5 +++++ gcc/regmove.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a7151a..4567c46 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1999-10-13 Brendan Kehoe + + * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we + climb up the chain of insns. + Wed Oct 13 10:20:58 1999 Richard Henderson * genrecog.c (write_subroutine): Careful for null trees. diff --git a/gcc/regmove.c b/gcc/regmove.c index 98061afa..c637743 100644 --- a/gcc/regmove.c +++ b/gcc/regmove.c @@ -679,7 +679,7 @@ optimize_reg_copy_3 (insn, dest, src) || ! find_reg_note (insn, REG_DEAD, src_reg) || REG_N_SETS (src_no) != 1) return; - for (p = PREV_INSN (insn); ! reg_set_p (src_reg, p); p = PREV_INSN (p)) + for (p = PREV_INSN (insn); p && ! reg_set_p (src_reg, p); p = PREV_INSN (p)) { if (GET_CODE (p) == CODE_LABEL || GET_CODE (p) == JUMP_INSN || (GET_CODE (p) == NOTE @@ -698,6 +698,9 @@ optimize_reg_copy_3 (insn, dest, src) if (GET_RTX_CLASS (GET_CODE (p)) != 'i') continue; } + if (! p) + return; + if (! (set = single_set (p)) || GET_CODE (SET_SRC (set)) != MEM || SET_DEST (set) != src_reg) -- 2.7.4