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

Reply via email to