re PR target/15653 (Gcc 3.4 ICE on valid code)
2004-06-10 Vladimir Makarov <vmakarov@redhat.com> PR target/15653 * haifa-sched.c (schedule_block): Finish cycle after issuing asm insn. From-SVN: r82942
This commit is contained in:
parent
322afd16ae
commit
d57f161721
|
@ -1,3 +1,9 @@
|
|||
2004-06-10 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR target/15653
|
||||
* haifa-sched.c (schedule_block): Finish cycle after issuing asm
|
||||
insn.
|
||||
|
||||
2004-06-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
PR web/15263
|
||||
|
|
|
@ -2378,6 +2378,7 @@ schedule_block (int b, int rgn_n_insns)
|
|||
{
|
||||
rtx insn;
|
||||
int cost;
|
||||
bool asm_p = false;
|
||||
|
||||
if (sched_verbose >= 2)
|
||||
{
|
||||
|
@ -2435,9 +2436,9 @@ schedule_block (int b, int rgn_n_insns)
|
|||
memcpy (temp_state, curr_state, dfa_state_size);
|
||||
if (recog_memoized (insn) < 0)
|
||||
{
|
||||
if (!first_cycle_insn_p
|
||||
&& (GET_CODE (PATTERN (insn)) == ASM_INPUT
|
||||
|| asm_noperands (PATTERN (insn)) >= 0))
|
||||
asm_p = (GET_CODE (PATTERN (insn)) == ASM_INPUT
|
||||
|| asm_noperands (PATTERN (insn)) >= 0);
|
||||
if (!first_cycle_insn_p && asm_p)
|
||||
/* This is asm insn which is tryed to be issued on the
|
||||
cycle not first. Issue it on the next cycle. */
|
||||
cost = 1;
|
||||
|
@ -2552,6 +2553,10 @@ schedule_block (int b, int rgn_n_insns)
|
|||
can_issue_more--;
|
||||
|
||||
advance = schedule_insn (insn, &ready, clock_var);
|
||||
|
||||
/* After issuing an asm insn we should start a new cycle. */
|
||||
if (advance == 0 && asm_p)
|
||||
advance = 1;
|
||||
if (advance != 0)
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue