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 #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think it is rtl_split_edge and patch_jump_insn not being able to deal with
such conditional jump insns.  It has code to deal e.g. with degenerate asm goto
and similar insns.  Note, I'm not really sure what should splitting an edge
mean in that case when there is just one edge.  Shall it redirect the branch so
that both when the condition is false and true the conditional jump points to
the new basic block?  Then there should be a new CODE_LABEL added to the new
basic block and the conditional jump adjusted to branch to that new CODE_LABEL.
 Or something else?

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