haifa-sched.c (last_clock_var): New.

* haifa-sched.c (last_clock_var): New.
        (schedule_block): Initialize it.
        (schedule_insn): Use it to fill insn modes with issue information.

From-SVN: r22009
This commit is contained in:
Richard Henderson 1998-08-26 11:47:42 -07:00
parent 425c08a151
commit 4bdc8810f6

View File

@ -4279,6 +4279,9 @@ adjust_priority (prev)
} }
} }
/* Clock at which the previous instruction was issued. */
static int last_clock_var;
/* INSN is the "currently executing insn". Launch each insn which was /* INSN is the "currently executing insn". Launch each insn which was
waiting on INSN. READY is a vector of insns which are ready to fire. waiting on INSN. READY is a vector of insns which are ready to fire.
N_READY is the number of elements in READY. CLOCK is the current N_READY is the number of elements in READY. CLOCK is the current
@ -4363,6 +4366,17 @@ schedule_insn (insn, ready, n_ready, clock)
} }
} }
/* Annotate the instruction with issue information -- TImode
indicates that the instruction is expected not to be able
to issue on the same cycle as the previous insn. A machine
may use this information to decide how the instruction should
be aligned. */
if (reload_completed && issue_rate > 1)
{
PUT_MODE (insn, clock > last_clock_var ? TImode : VOIDmode);
last_clock_var = clock;
}
return n_ready; return n_ready;
} }
@ -6739,6 +6753,7 @@ schedule_block (bb, rgn_n_insns)
q_ptr = 0; q_ptr = 0;
q_size = 0; q_size = 0;
clock_var = 0; clock_var = 0;
last_clock_var = 0;
bzero ((char *) insn_queue, sizeof (insn_queue)); bzero ((char *) insn_queue, sizeof (insn_queue));
/* We start inserting insns after PREV_HEAD. */ /* We start inserting insns after PREV_HEAD. */