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