This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/72749] [7 Regression] ICE: verify_flow_info failed (error: wrong amount of branch edges after conditional jump in bb 5) w/ -O2 -fsched2-use-superblocks


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72749

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Perhaps use the TARGET_LEGITIMATE_COMBINED_INSN target hook?  Though if that
hook rejects all doloop insns, that would mean you can't combine into the
doloop insns created by the doloop pass, not sure if it wouldn't hurt though.
Without the UNSPEC, the doloop insn has been removed during the fwprop2 pass,
together with tons of other insns, while with the UNSPEC that doesn't happen.
If we want to keep the UNSPEC, then we'd need to debug whatever in the sched2
pass decides to remove the CODE_LABEL from the fallthrough block after the
degenerate doloop insn.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]