re PR rtl-optimization/9745 ([powerpc] miscompiles libmcrypt (alias problem during loop))
PR optimization/9745 * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before loop_insn_emit_before. (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. From-SVN: r69220
This commit is contained in:
parent
c3c3593270
commit
ac8354b1da
2 changed files with 19 additions and 9 deletions
|
@ -1,3 +1,10 @@
|
|||
2003-07-10 James E Wilson <wilson@tuliptree.org>
|
||||
|
||||
PR optimization/9745
|
||||
* loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
|
||||
loop_insn_emit_before.
|
||||
(loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
|
||||
|
||||
2003-07-10 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
* cppcharset.c: Fix comment.
|
||||
|
|
21
gcc/loop.c
21
gcc/loop.c
|
@ -7737,11 +7737,12 @@ loop_iv_add_mult_emit_before (const struct loop *loop, rtx b, rtx m, rtx a,
|
|||
update_reg_last_use (b, before_insn);
|
||||
update_reg_last_use (m, before_insn);
|
||||
|
||||
loop_insn_emit_before (loop, before_bb, before_insn, seq);
|
||||
|
||||
/* It is possible that the expansion created lots of new registers.
|
||||
Iterate over the sequence we just created and record them all. */
|
||||
Iterate over the sequence we just created and record them all. We
|
||||
must do this before inserting the sequence. */
|
||||
loop_regs_update (loop, seq);
|
||||
|
||||
loop_insn_emit_before (loop, before_bb, before_insn, seq);
|
||||
}
|
||||
|
||||
|
||||
|
@ -7764,11 +7765,12 @@ loop_iv_add_mult_sink (const struct loop *loop, rtx b, rtx m, rtx a, rtx reg)
|
|||
update_reg_last_use (b, loop->sink);
|
||||
update_reg_last_use (m, loop->sink);
|
||||
|
||||
loop_insn_sink (loop, seq);
|
||||
|
||||
/* It is possible that the expansion created lots of new registers.
|
||||
Iterate over the sequence we just created and record them all. */
|
||||
Iterate over the sequence we just created and record them all. We
|
||||
must do this before inserting the sequence. */
|
||||
loop_regs_update (loop, seq);
|
||||
|
||||
loop_insn_sink (loop, seq);
|
||||
}
|
||||
|
||||
|
||||
|
@ -7784,11 +7786,12 @@ loop_iv_add_mult_hoist (const struct loop *loop, rtx b, rtx m, rtx a, rtx reg)
|
|||
/* Use copy_rtx to prevent unexpected sharing of these rtx. */
|
||||
seq = gen_add_mult (copy_rtx (b), copy_rtx (m), copy_rtx (a), reg);
|
||||
|
||||
loop_insn_hoist (loop, seq);
|
||||
|
||||
/* It is possible that the expansion created lots of new registers.
|
||||
Iterate over the sequence we just created and record them all. */
|
||||
Iterate over the sequence we just created and record them all. We
|
||||
must do this before inserting the sequence. */
|
||||
loop_regs_update (loop, seq);
|
||||
|
||||
loop_insn_hoist (loop, seq);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue