]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR bootstrap/45028 (ICE building 64-bit libjava on Solaris 2/SPARC: output_operand...
authorJakub Jelinek <jakub@redhat.com>
Thu, 22 Jul 2010 20:48:42 +0000 (22:48 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 22 Jul 2010 20:48:42 +0000 (22:48 +0200)
PR bootstrap/45028
* recgprop.c (copyprop_hardreg_forward_1): If changed is true,
call cprop_find_used_regs again via note_uses.

From-SVN: r162427

gcc/ChangeLog
gcc/regcprop.c

index 321b27cd02d53791613daf335ff9293ef78e6385..ac003a364e1e3c6b6406ed775e9e8e8bafc74ecf 100644 (file)
@@ -1,3 +1,9 @@
+2010-07-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/45028
+       * recgprop.c (copyprop_hardreg_forward_1): If changed is true,
+       call cprop_find_used_regs again via note_uses.
+
 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
 
        * alias.c (get_alias_set): Fix formatting issues.
index c4a22be91a7eed7ec6b1204205708e21caaa9cb8..0e11f97dc10d7f76a5dd936202f5daaea583c300 100644 (file)
@@ -947,7 +947,14 @@ copyprop_hardreg_forward_1 (basic_block bb, struct value_data *vd)
 
     did_replacement:
       if (changed)
-       anything_changed = true;
+       {
+         anything_changed = true;
+
+         /* If something changed, perhaps further changes to earlier
+            DEBUG_INSNs can be applied.  */
+         if (vd->n_debug_insn_changes)
+           note_uses (&PATTERN (insn), cprop_find_used_regs, vd);
+       }
 
       /* Clobber call-clobbered registers.  */
       if (CALL_P (insn))