(schedule_block): Add a virtual cycle counter CLOCK.
authorTom Wood <wood@gnu.org>
Tue, 25 Aug 1992 20:23:21 +0000 (20:23 +0000)
committerTom Wood <wood@gnu.org>
Tue, 25 Aug 1992 20:23:21 +0000 (20:23 +0000)
commitde19227a2540747aef16ca542681e1416ef00fb0
tree248117125dc6820e070e8baf1abb491d81a3b462
parentef3fad04839638138ab28d7a00e40fca253f3d45
(schedule_block): Add a virtual cycle counter CLOCK.

Pass CLOCK to schedule_insn.
Compute the tail in the scheduling loop, not before it.
Enable the stall code that advances the insn queue.
Select the insn to schedule and block others with schedule_select.
(adjust_priority): Renamed from launch_link.
(schedule_insn): Renamed from launch_links.
(insn_queue): Use INSN_QUEUE_SIZE.

(insn_units, insn_blockage, insn_tick, unit_last_insn,
unit_tick, unit_n_insns): New variables.
(schedule_insns): Allocate and initialize insn_tick, insn_units, and
insn_blockage.
(insn_unit, blockage_range, clear_units, prepare_unit, schedule_unit,
actual_hazard_this_instance, actual_hazard, potential_hazard,
schedule_select): New functions.
(schedule_block): Add dependencies to force insns to remain in order
at the end of a block rather than relying on having the scheduler
issue them in priority order.
(insn_cost): Add LINK and USED parameters.  All callers
changed.  Supply an ADJUST_COST interface.
(insn_cost): Make a dependence from a USE insn free.
(priority): Clear the link cost adjustment bits.

From-SVN: r1951
gcc/sched.c