Commit e013f3c7 by Richard Henderson Committed by Richard Henderson

ia64.c (nop_cycles_until): Do init_insn_group_barriers if we emitted a stop bit.

        * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
        if we emitted a stop bit.

From-SVN: r50065
parent 9e944a16
2002-02-26 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
if we emitted a stop bit.
2002-02-26 Jakub Jelinek <jakub@redhat.com> 2002-02-26 Jakub Jelinek <jakub@redhat.com>
* configure.in (libgcc_visibility): Substitute. * configure.in (libgcc_visibility): Substitute.
......
...@@ -6090,12 +6090,14 @@ nop_cycles_until (clock_var, dump) ...@@ -6090,12 +6090,14 @@ nop_cycles_until (clock_var, dump)
{ {
int prev_clock = prev_cycle; int prev_clock = prev_cycle;
int cycles_left = clock_var - prev_clock; int cycles_left = clock_var - prev_clock;
bool did_stop = false;
/* Finish the previous cycle; pad it out with NOPs. */ /* Finish the previous cycle; pad it out with NOPs. */
if (sched_data.cur == 3) if (sched_data.cur == 3)
{ {
rtx t = gen_insn_group_barrier (GEN_INT (3)); rtx t = gen_insn_group_barrier (GEN_INT (3));
last_issued = emit_insn_after (t, last_issued); last_issued = emit_insn_after (t, last_issued);
did_stop = true;
maybe_rotate (dump); maybe_rotate (dump);
} }
else if (sched_data.cur > 0) else if (sched_data.cur > 0)
...@@ -6148,6 +6150,7 @@ nop_cycles_until (clock_var, dump) ...@@ -6148,6 +6150,7 @@ nop_cycles_until (clock_var, dump)
{ {
rtx t = gen_insn_group_barrier (GEN_INT (3)); rtx t = gen_insn_group_barrier (GEN_INT (3));
last_issued = emit_insn_after (t, last_issued); last_issued = emit_insn_after (t, last_issued);
did_stop = true;
} }
maybe_rotate (dump); maybe_rotate (dump);
} }
...@@ -6171,8 +6174,12 @@ nop_cycles_until (clock_var, dump) ...@@ -6171,8 +6174,12 @@ nop_cycles_until (clock_var, dump)
last_issued = emit_insn_after (t, last_issued); last_issued = emit_insn_after (t, last_issued);
t = gen_insn_group_barrier (GEN_INT (3)); t = gen_insn_group_barrier (GEN_INT (3));
last_issued = emit_insn_after (t, last_issued); last_issued = emit_insn_after (t, last_issued);
did_stop = true;
cycles_left--; cycles_left--;
} }
if (did_stop)
init_insn_group_barriers ();
} }
/* We are about to being issuing insns for this clock cycle. /* We are about to being issuing insns for this clock cycle.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment