diff options
author | Richard Henderson <rth@redhat.com> | 2002-10-14 11:16:07 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-10-14 11:16:07 -0700 |
commit | f4e3e618783d34c309c90f89f2b068a9124b27ed (patch) | |
tree | 0528a5ff07218adcfc96168d07f80f2555b12c8b /gcc/gcse.c | |
parent | 3eb429b2ce44213e20b23ee8e8f5ec9b617926fa (diff) | |
download | gcc-f4e3e618783d34c309c90f89f2b068a9124b27ed.zip gcc-f4e3e618783d34c309c90f89f2b068a9124b27ed.tar.gz gcc-f4e3e618783d34c309c90f89f2b068a9124b27ed.tar.bz2 |
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
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 14 |
1 files changed, 4 insertions, 10 deletions
@@ -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; |