From: Matthias Klose Date: Sun, 25 Jul 2004 18:49:54 +0000 (+0000) Subject: backport: [multiple changes] X-Git-Tag: releases/gcc-3.3.5~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ec597b96219a8d2fe52d9addac21af14029325d;p=thirdparty%2Fgcc.git backport: [multiple changes] 2004-07-25 Matthias Klose Backport: PR rtl-optimization/14700 2004-06-24 Eric Christopher * combine.c (distribute_notes): Don't delete sets to global register variables. 2004-06-29 Zack Weinberg * combine.c (distribute_notes): Don't look at global_regs for pseudos. From-SVN: r85157 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 41a943cbe077..f4feec2eb525 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,18 @@ +2004-07-25 Matthias Klose + + Backport: + PR rtl-optimization/14700 + + 2004-06-24 Eric Christopher + + * combine.c (distribute_notes): Don't delete sets to + global register variables. + + 2004-06-29 Zack Weinberg + + * combine.c (distribute_notes): Don't look at global_regs for + pseudos. + 2004-07-23 James E Wilson PR target/16559 diff --git a/gcc/combine.c b/gcc/combine.c index b26053c5ad2a..bc4ee639047c 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -12798,8 +12798,11 @@ distribute_notes (notes, from_insn, i3, i2) /* If the register is being set at TEM, see if that is all TEM is doing. If so, delete TEM. Otherwise, make this - into a REG_UNUSED note instead. */ - if (reg_set_p (XEXP (note, 0), PATTERN (tem))) + into a REG_UNUSED note instead. Don't delete sets to + global register vars. */ + if ((REGNO (XEXP (note, 0)) >= FIRST_PSEUDO_REGISTER + || !global_regs[REGNO (XEXP (note, 0))]) + && reg_set_p (XEXP (note, 0), PATTERN (tem))) { rtx set = single_set (tem); rtx inner_dest = 0;