loop.c (move_movables): Corrected threshold calculation for moved_once registers.

* loop.c (move_movables): Corrected threshold calculation for
        moved_once registers.

From-SVN: r22847
This commit is contained in:
Herman A.J. ten Brugge 1998-10-05 22:48:22 +02:00 committed by Jeff Law
parent da5a44b36e
commit 877ca132ec
2 changed files with 9 additions and 8 deletions

View File

@ -1,3 +1,8 @@
1998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* loop.c (move_movables): Corrected threshold calculation for
moved_once registers.
Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
* loop.c (combine_givs_p): Fix test for identical givs.

View File

@ -1839,13 +1839,8 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
if (loop_dump_stream)
fprintf (loop_dump_stream, "savings %d ", savings);
if (moved_once[regno])
{
insn_count *= 2;
if (loop_dump_stream)
fprintf (loop_dump_stream, "halved since already moved ");
}
if (moved_once[regno] && loop_dump_stream)
fprintf (loop_dump_stream, "halved since already moved ");
/* An insn MUST be moved if we already moved something else
which is safe only if this one is moved too: that is,
@ -1862,7 +1857,8 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
if (already_moved[regno]
|| flag_move_all_movables
|| (threshold * savings * m->lifetime) >= insn_count
|| (threshold * savings * m->lifetime) >=
(moved_once[regno] ? insn_count * 2 : insn_count)
|| (m->forces && m->forces->done
&& VARRAY_INT (n_times_used, m->forces->regno) == 1))
{