reload1.c (reload_combine): Pass reg_sum replacement through copy_rtx in loop perform...
authorHans-Peter Nilsson <hp@bitrange.com>
Mon, 14 Jan 2002 22:21:39 +0000 (22:21 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Mon, 14 Jan 2002 22:21:39 +0000 (22:21 +0000)
* reload1.c (reload_combine): Pass reg_sum replacement through
copy_rtx in loop performing multiple changes.

From-SVN: r48851

gcc/ChangeLog
gcc/reload1.c

index e61e195aaeeb736858414e369f8f9145f9d7f775..e72f1f06bb1c50c7bac72ca445f597d731db307c 100644 (file)
@@ -1,3 +1,8 @@
+2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * reload1.c (reload_combine): Pass reg_sum replacement through
+       copy_rtx in loop performing multiple changes.
+
 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
 
        * except.c (remove_unreachable_regions): New.
index e1f1e4bd6ea9f264bcb633d8e5eadcccfd4876e1..81fba35cc2144bd7a6fcc57b013f47b0ea3a394c 100644 (file)
@@ -8769,7 +8769,9 @@ reload_combine ()
                   i < RELOAD_COMBINE_MAX_USES; i++)
                validate_change (reg_state[regno].reg_use[i].insn,
                                 reg_state[regno].reg_use[i].usep,
-                                reg_sum, 1);
+                                /* Each change must have its own
+                                   replacement.  */
+                                copy_rtx (reg_sum), 1);
 
              if (apply_change_group ())
                {