]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/3393 (ICE in extract_insn, at recog.c:2173)
authorRichard Henderson <rth@redhat.com>
Tue, 5 Feb 2002 09:49:31 +0000 (01:49 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 5 Feb 2002 09:49:31 +0000 (01:49 -0800)
        PR fortran/3393
        * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
        (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.

From-SVN: r49521

gcc/ChangeLog
gcc/loop.c

index 107ec4b0fbcee275d21fdd847f02c29dec6464af..5f1b84ab1cdfbbcb8c58a31e88e96f97a1f9432e 100644 (file)
@@ -1,5 +1,9 @@
 2002-02-05  Richard Henderson  <rth@redhat.com>
 
+       PR fortran/3393
+       * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
+       (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
+
        PR fortran/3392
        * config/mips/mips.c (function_arg): Handle TImode.
        (function_arg_advance): Likewise.
index a65595f2a447ee30f7453287d1edd9fb32f1d292..0067e7490fd4f7677251123c2600b9907c6daabf 100644 (file)
@@ -7654,7 +7654,7 @@ loop_iv_add_mult_emit_before (loop, b, m, a, reg, before_bb, before_insn)
     }
 
   /* Use copy_rtx to prevent unexpected sharing of these rtx.  */
-  seq = gen_add_mult (copy_rtx (b), m, copy_rtx (a), reg);
+  seq = gen_add_mult (copy_rtx (b), copy_rtx (m), copy_rtx (a), reg);
 
   /* Increase the lifetime of any invariants moved further in code.  */
   update_reg_last_use (a, before_insn);
@@ -7682,7 +7682,7 @@ loop_iv_add_mult_sink (loop, b, m, a, reg)
   rtx seq;
 
   /* Use copy_rtx to prevent unexpected sharing of these rtx.  */
-  seq = gen_add_mult (copy_rtx (b), m, copy_rtx (a), reg);
+  seq = gen_add_mult (copy_rtx (b), copy_rtx (m), copy_rtx (a), reg);
 
   /* Increase the lifetime of any invariants moved further in code.
      ???? Is this really necessary?  */
@@ -7711,7 +7711,7 @@ loop_iv_add_mult_hoist (loop, b, m, a, reg)
   rtx seq;
 
   /* Use copy_rtx to prevent unexpected sharing of these rtx.  */
-  seq = gen_add_mult (copy_rtx (b), m, copy_rtx (a), reg);
+  seq = gen_add_mult (copy_rtx (b), copy_rtx (m), copy_rtx (a), reg);
 
   loop_insn_hoist (loop, seq);