From f4e3e618783d34c309c90f89f2b068a9124b27ed Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 14 Oct 2002 11:16:07 -0700 Subject: re PR rtl-optimization/8165 (builtin string functions SEGV on alpha-pc-linux-gnu at -O2) PR opt/8165 * gcse.c (adjust_libcall_notes): Revert last change. * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM. From-SVN: r58130 --- gcc/gcse.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'gcc/gcse.c') diff --git a/gcc/gcse.c b/gcc/gcse.c index bdde90f..bb738e2 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4330,23 +4330,17 @@ do_local_cprop (x, insn, alter_jumps, libcall_sp) /* LIBCALL_SP is a zero-terminated array of insns at the end of a libcall; their REG_EQUAL notes need updating to reflect that OLDREG has been - replaced with NEWVAL in INSN. Also update the REG_EQUAL notes in INSN. - - Return true if all substitutions could be made. */ - + replaced with NEWVAL in INSN. Return true if all substitutions could + be made. */ static bool adjust_libcall_notes (oldreg, newval, insn, libcall_sp) rtx oldreg, newval, insn, *libcall_sp; { - rtx end, note; - - note = find_reg_equal_equiv_note (insn); - if (note) - XEXP (note, 0) = replace_rtx (XEXP (note, 0), oldreg, newval); + rtx end; while ((end = *libcall_sp++)) { - note = find_reg_equal_equiv_note (end); + rtx note = find_reg_equal_equiv_note (end); if (! note) continue; -- cgit v1.1