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--;