diff options
Diffstat (limited to 'contrib/gcc/haifa-sched.c')
-rw-r--r-- | contrib/gcc/haifa-sched.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/contrib/gcc/haifa-sched.c b/contrib/gcc/haifa-sched.c index 686369d..1d67afb 100644 --- a/contrib/gcc/haifa-sched.c +++ b/contrib/gcc/haifa-sched.c @@ -1601,6 +1601,8 @@ move_insn (insn, last) retval = reemit_notes (insn, insn); else reemit_notes (insn, insn); + /* Consume SCHED_GROUP_P flag. */ + SCHED_GROUP_P (insn) = 0; insn = prev; } @@ -1764,7 +1766,10 @@ schedule_block (b, rgn_n_insns) can_issue_more = (*targetm.sched.variable_issue) (sched_dump, sched_verbose, insn, can_issue_more); - else + /* A naked CLOBBER or USE generates no instruction, so do + not count them against the issue rate. */ + else if (GET_CODE (PATTERN (insn)) != USE + && GET_CODE (PATTERN (insn)) != CLOBBER) can_issue_more--; schedule_insn (insn, &ready, clock_var); |