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

            Bug ID: 116104
           Summary: [15 Regression] GCN vs. "[rtl-optimization/116037]
                    Explicitly track if a destination was skipped in
                    ext-dce"
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: build, ice-checking
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: ams at gcc dot gnu.org, law at gcc dot gnu.org
  Target Milestone: ---
            Target: GCN

As of recent PR116037 commit r15-2275-g679086172b84be18c55fdbb9cda7e97806e7c083
"[rtl-optimization/116037] Explicitly track if a destination was skipped in
ext-dce", '--target=amdgcn-amdhsa' ICEs during build of GCC target libraries. 
I can't tell if this is an issue in 'RTL pass: ext_dce' or in the GCN back end.
 (This isn't fixed by subsequent the commit
r15-2321-g34fb0feca71f763b2fbe832548749666d34a4a76 "[PR
rtl-optimization/116039] Fix life computation for promoted subregs".)

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/libgcc2.c: In function ‘__negti2’:
    [...]/source-gcc/libgcc/libgcc2.c:71:1: internal compiler error: RTL check:
expected code 'const_int', have 'const_vector' in carry_backpropagate, at
ext-dce.cc:497
       71 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52e15 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:497
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    0x1dfbb46 ext_dce_process_uses
            [...]/source-gcc/gcc/ext-dce.cc:679
    0x1dfc825 ext_dce_process_bb
            [...]/source-gcc/gcc/ext-dce.cc:836
    0x1dfc825 ext_dce_rd_transfer_n
            [...]/source-gcc/gcc/ext-dce.cc:978
    0xcb6f5e df_worklist_propagate_backward
            [...]/source-gcc/gcc/df-core.cc:970
    0xcb6f5e df_worklist_dataflow_doublequeue
            [...]/source-gcc/gcc/df-core.cc:1054
    0xcb6f5e df_worklist_dataflow(dataflow*, bitmap_head*, int*, int)
            [...]/source-gcc/gcc/df-core.cc:1132
    0x1dfcd67 ext_dce_execute()
            [...]/source-gcc/gcc/ext-dce.cc:1007
    0x1dfd0fc execute
            [...]/source-gcc/gcc/ext-dce.cc:1047

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/libgcc2.c: In function ‘__popcountti2’:
    [...]/source-gcc/libgcc/libgcc2.c:870:1: internal compiler error: RTL
check: expected code 'const_int', have 'const_vector' in carry_backpropagate,
at ext-dce.cc:505
      870 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52d63 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:505
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/libgcc2.c: In function ‘__udivti3’:
    [...]/source-gcc/libgcc/libgcc2.c:1301:1: internal compiler error: RTL
check: expected code 'const_int', have 'const_vector' in carry_backpropagate,
at ext-dce.cc:497
     1301 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52e15 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:497
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/libgcc2.c: In function ‘__udivmodti4’:
    [...]/source-gcc/libgcc/libgcc2.c:1205:1: internal compiler error: RTL
check: expected code 'const_int', have 'const_vector' in carry_backpropagate,
at ext-dce.cc:497
     1205 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52e15 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:497
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod.c: In function
‘__udivmodv64si4_aux’:
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod.c:52:1: internal
compiler error: RTL check: expected code 'const_int', have 'const_vector' in
carry_backpropagate, at ext-dce.cc:505
       52 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52d63 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:505
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod-qi.c: In function
‘__udivmodv64qi4_aux’:
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod-qi.c:52:1: internal
compiler error: RTL check: expected code 'const_int', have 'const_vector' in
carry_backpropagate, at ext-dce.cc:505
       52 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52d63 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:505
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod-hi.c: In function
‘__udivmodv64hi4_aux’:
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod-hi.c:52:1: internal
compiler error: RTL check: expected code 'const_int', have 'const_vector' in
carry_backpropagate, at ext-dce.cc:505
       52 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52d63 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:505
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod-di.c: In function
‘__divv64di3_aux’:
    [...]/source-gcc/libgcc/config/gcn/lib2-vec_divmod-di.c:89:1: internal
compiler error: RTL check: expected code 'const_int', have 'const_vector' in
carry_backpropagate, at ext-dce.cc:505
       89 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52d63 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:505
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

    during RTL pass: ext_dce
    [...]/source-gcc/libgcc/strub.c: In function ‘__strub_leave’:
    [...]/source-gcc/libgcc/strub.c:153:1: internal compiler error: RTL check:
expected code 'const_int', have 'const_vector' in carry_backpropagate, at
ext-dce.cc:497
      153 | }
          | ^
    0x20f9815 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:491
    0x86460a rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.cc:770
    0xa52e15 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:497
    0x1dfbb46 carry_backpropagate(unsigned long, rtx_code, rtx_def*)
            [...]/source-gcc/gcc/ext-dce.cc:659
    [...]

Reply via email to