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

--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Yeah, I found out it is _not_ the one the backtrace (or GDB) points at.

I have a patch:

===
diff --git a/gcc/cse.c b/gcc/cse.c
index 6a968d1..34650d2 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -6642,6 +6642,7 @@ cse_extended_basic_block (struct cse_basic_block_data
*ebb
       if (path_entry < path_size - 1
          && JUMP_P (insn)
          && single_set (insn)
+         && EDGE_COUNT (bb->succs) == 2
          && any_condjump_p (insn))
        {
          basic_block next_bb = ebb_data->path[path_entry + 1].bb;
===

Do you want to handle it?  More your timezone than mine ;-)

Reply via email to