[Bug rtl-optimization/85410] ICE in create_block_for_bookkeeping, at sel-sched.c:4563
abel at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 24 08:55:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85410
Andrey Belevantsev <abel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-04-24
CC| |abel at gcc dot gnu.org,
| |amonakov at gcc dot gnu.org,
| |jakub at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Andrey Belevantsev <abel at gcc dot gnu.org> ---
Confirmed. We hit an assert saying that the split block (which is supposed to
be empty) doesn't have any bb notes. But it may have a NOTE_INSN_DELETED now
because there is the code emitting that when the bb only has debug insns. It
is easy to relax the assert and properly merge bb notes list in this case.
So far so good, but then the df_verify assert hits late in IRA. It is because
of the code that was added to rotate bb indexes to avoid debug/non-debug
differences around sel-sched.c:4585, there if (MAY_HAVE_DEBUG_INSNS) we do the
long list of sel-sched data structures exchanges but nobody takes care of df
structures. There I can do a df_bb_refs_record for the changed bbs, but still
the reg_chain structures are bogus and we ICE in df_reg_chain_verify_unmarked.
At this point I'm unclear what to do, thoughts?
More information about the Gcc-bugs
mailing list