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

            Bug ID: 112822
           Summary: [14 regression] ICE: invalid RHS for gimple memory
                    store after r14-5831-gaae723d360ca26
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

g:aae723d360ca26cd9fd0b039fb0a616bd0eae363, r14-5831-gaae723d360ca26

commit aae723d360ca26cd9fd0b039fb0a616bd0eae363 (HEAD)
Author: Martin Jambor <mjam...@suse.cz>
Date:   Fri Nov 24 17:32:35 2023 +0100

    sra: SRA of non-escaped aggregates passed by reference to calls


This is a huge C++ program that I have not cut down yet.  I will look at that
on Monday if need be.


seurer@ltcden2-lp1:~/tst$ ~/gcc/git/install/gcc-test/bin/g++ -w -O3 -c small.i

small.i: In function 'std::enable_if_t<(!((((((((Rows == 1) && (Depth != 1)) &&
(OA == Eigen::ColMajor)) || (((Depth == 1) && (Rows != 1)) && (OA ==
Eigen::RowMajor))) || (((Cols == 1) && (Depth != 1)) && (OB ==
Eigen::RowMajor))) || (((Depth == 1) && (Cols != 1)) && (OB ==
Eigen::ColMajor))) || (((Rows == 1) && (Cols != 1)) && (OC ==
Eigen::ColMajor))) || (((Cols == 1) && (Rows != 1)) && (OC ==
Eigen::RowMajor)))), void> test_lazy_single(int, int, int) [with T =
std::complex<double>; int Rows = 1; int Cols = 4; int Depth = 6; int OC = 1;
int OA = 1; int OB = 1]':
small.i:133795:1: error: invalid RHS for gimple memory store:
'view_convert_expr'
133795 | test_lazy_single(int rows, int cols, int depth)
       | ^~~~~~~~~~~~~~~~
D$_M_value

VIEW_CONVERT_EXPR<_ComplexT>(C_1302);

# .MEM_1318 = VDEF <.MEM_1313>
D$_M_value = VIEW_CONVERT_EXPR<_ComplexT>(C_1302);
small.i:133795:1: error: invalid RHS for gimple memory store:
'view_convert_expr'
D$16$_M_value

VIEW_CONVERT_EXPR<_ComplexT>(C$16_1303);

# .MEM_1319 = VDEF <.MEM_1318>
D$16$_M_value = VIEW_CONVERT_EXPR<_ComplexT>(C$16_1303);
small.i:133795:1: error: invalid RHS for gimple memory store:
'view_convert_expr'
D$32$_M_value

VIEW_CONVERT_EXPR<_ComplexT>(C$32_1304);

# .MEM_1320 = VDEF <.MEM_1319>
D$32$_M_value = VIEW_CONVERT_EXPR<_ComplexT>(C$32_1304);
small.i:133795:1: error: invalid RHS for gimple memory store:
'view_convert_expr'
D$48$_M_value

VIEW_CONVERT_EXPR<_ComplexT>(C$48_1309);

# .MEM_1323 = VDEF <.MEM_1320>
D$48$_M_value = VIEW_CONVERT_EXPR<_ComplexT>(C$48_1309);
during GIMPLE pass: sra
small.i:133795:1: internal compiler error: verify_gimple failed
0x11136103 verify_gimple_in_cfg(function*, bool, bool)
        /home/seurer/gcc/git/gcc-test/gcc/tree-cfg.cc:5662
0x10f27edf execute_function_todo
        /home/seurer/gcc/git/gcc-test/gcc/passes.cc:2088
0x10f28eab do_per_function
        /home/seurer/gcc/git/gcc-test/gcc/passes.cc:1687
0x10f290cb execute_todo
        /home/seurer/gcc/git/gcc-test/gcc/passes.cc:2142

Reply via email to