(schedule_block): Add a virtual cycle counter CLOCK.
authorwood <wood@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Aug 1992 20:23:21 +0000 (20:23 +0000)
committerwood <wood@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Aug 1992 20:23:21 +0000 (20:23 +0000)
commit2064885221cefa11c9fe16f0e62a80d3f495522d
tree248117125dc6820e070e8baf1abb491d81a3b462
parent0e1430e3a892a86bacc92a437b01093cb57033e7
(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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1951 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/sched.c