From 81d820e5280f6313c6b2c3d6e2c9e88e668f64de Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 16 Jul 2002 05:43:37 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/regmove.c | 1 + 2 files changed, 7 insertions(+) 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)) -- 2.47.2