https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63384
Andrey Belevantsev <abel at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2016-01-22 Ever confirmed|0 |1 --- Comment #5 from Andrey Belevantsev <abel at gcc dot gnu.org> --- We're looping because we decrease the counter of the insns we still can issue (can_issue_more) on a DEBUG_INSN. The following helps us to get away with it but frankly I have no idea why it was not surfaced before -- no such insns with usual debug info? diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index c798935..893a3e5 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -4249,7 +4249,8 @@ invoke_aftermath_hooks (fence_t fence, rtx_insn *best_insn, int issue_more) issue_more); memcpy (FENCE_STATE (fence), curr_state, dfa_state_size); } - else if (GET_CODE (PATTERN (best_insn)) != USE + else if (! DEBUG_INSN_P (best_insn) + && GET_CODE (PATTERN (best_insn)) != USE && GET_CODE (PATTERN (best_insn)) != CLOBBER) issue_more--;