From: Eric Botcazou Date: Tue, 16 Jul 2002 05:43:37 +0000 (+0000) Subject: re PR middle-end/7153 (bad operands for 'movsbl' error) X-Git-Tag: releases/gcc-3.1.1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81d820e5280f6313c6b2c3d6e2c9e88e668f64de;p=thirdparty%2Fgcc.git re PR middle-end/7153 (bad operands for 'movsbl' error) PR optimization/7153 * regmove.c (optimize_reg_copy_3): Don't optimize if the register dies in more than one insn. From-SVN: r55473 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c17493d255b9..4aa0fc7bfe01 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-07-15 Eric Botcazou + + PR optimization/7153 + * regmove.c (optimize_reg_copy_3): Don't optimize if the register + dies in more than one insn. + 2002-07-15 Jason Thorpe * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove. diff --git a/gcc/regmove.c b/gcc/regmove.c index 59b1005137ae..048cfb60ba22 100644 --- a/gcc/regmove.c +++ b/gcc/regmove.c @@ -664,6 +664,7 @@ optimize_reg_copy_3 (insn, dest, src) if (src_no < FIRST_PSEUDO_REGISTER || dst_no < FIRST_PSEUDO_REGISTER || ! find_reg_note (insn, REG_DEAD, src_reg) + || REG_N_DEATHS (src_no) != 1 || REG_N_SETS (src_no) != 1) return; for (p = PREV_INSN (insn); p && ! reg_set_p (src_reg, p); p = PREV_INSN (p))