From 2e279a9b0811ddee8138f7945cc46a17cb37888a Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 5 Feb 2002 01:49:31 -0800 Subject: [PATCH] re PR fortran/3393 (ICE in extract_insn, at recog.c:2173) 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 | 4 ++++ gcc/loop.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 107ec4b0fbc..5f1b84ab1cd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2002-02-05 Richard Henderson + 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. diff --git a/gcc/loop.c b/gcc/loop.c index a65595f2a44..0067e7490fd 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -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);