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

            Bug ID: 125419
           Summary: [16/17 Regression] ICE at -O3 during GIMPLE pass:
                    ifcvt
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xxs_chy at outlook dot com
  Target Milestone: ---

Reproducer: https://godbolt.org/z/67KWd7WE1
Testcase:
#include <setjmp.h>
#include <stdint.h>
int8_t g13, g29, g27, g26, g17;
jmp_buf g32;
int32_t f1()
{
    _Bool c11, c14;
    int32_t sj15;
    if (c14) sj15 = sj15;
    setjmp(g32);
    c14 = 0;
lbl_br18:
    c11 = g27;
    if (c11) goto lbl_br22;
    goto lbl_br24;
lbl_br22:
    c14 = sj15;
    c11 = g29 = g13;
    if (c11) goto lbl_br22;
lbl_br24:
    g26 = g17;
    if (c14) goto lbl_br18;
}

Dump at -O3:
during GIMPLE pass: ifcvt
<source>: In function 'f1':
<source>:5:9: internal compiler error: in factor_out_operators, at
tree-if-conv.cc:2281
    5 | int32_t f1()
      |         ^~
0x2067238 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
__va_list_tag (*) [1], diagnostics::kind)
        ???:0
0x206052b internal_error(char const*, ...)
        ???:0
0x7c7a38 fancy_abort(char const*, int, char const*)
        ???:0
0xf016d4 tree_if_conversion(loop*, vec<gimple*, va_heap, vl_ptr>*)
        ???:0

Reply via email to