https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111882
Bug ID: 111882
Summary: GCC: 14: internal compiler error: in
get_expr_operands, at tree-ssa-operands.cc:940
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: 141242068 at smail dot nju.edu.cn
Target Milestone: ---
Compiler Explorer: https://gcc.godbolt.org/z/h9MMnxbvK
When compile this program with option -O2, gcc crashes:
```
static void __attribute__((noipa)) f(int n) {
int i, j;
struct S { char d[n]; int a; int b : 17; int c : 12; };
struct S A[100][1111];
for (i = 0; i < 100; i++) {
asm volatile("" : : "g"(&A[0][0]) : "memory");
for (j = 0; j < 1111; j++) A[i][j].b = 2;
}
}
void g(void) { f(1); }
```
The stack dump:
```
unhandled expression in get_expr_operands():
<save_expr 0x7fe6f6035440
type <integer_type 0x7fe6f5ea55e8 int sizes-gimplified asm_written public
SI
size <integer_cst 0x7fe6f5ea7180 constant 32>
unit-size <integer_cst 0x7fe6f5ea7198 constant 4>
align:32 warn_if_not_align:0 symtab:-167332928 alias-set 3
canonical-type 0x7fe6f5ea55e8 precision:32 min <integer_cst 0x7fe6f5ea7138
-2147483648> max <integer_cst 0x7fe6f5ea7150 2147483647>
pointer_to_this <pointer_type 0x7fe6f5eadb28>>
side-effects public
arg:0 <var_decl 0x7fe6f5e94f30 n.0 type <integer_type 0x7fe6f5ea55e8 int>
used ignored SI <source>:3:10 size <integer_cst 0x7fe6f5ea7180 32>
unit-size <integer_cst 0x7fe6f5ea7198 4>
align:32 warn_if_not_align:0 context <function_decl 0x7fe6f6033b00 f>>>
during GIMPLE pass: ifcvt
<source>: In function 'f':
<source>:1:36: internal compiler error: in get_expr_operands, at
tree-ssa-operands.cc:940
1 | static void __attribute__((noipa)) f(int n) {
| ^
0x231788e internal_error(char const*, ...)
???:0
0xa0002a fancy_abort(char const*, int, char const*)
???:0
0x12e792d operands_scanner::get_expr_operands(tree_node**, int)
???:0
0x12e71b8 operands_scanner::get_expr_operands(tree_node**, int)
???:0
0x12e71b8 operands_scanner::get_expr_operands(tree_node**, int)
???:0
0x12e71b8 operands_scanner::get_expr_operands(tree_node**, int)
???:0
0x12e7e50 operands_scanner::parse_ssa_operands()
???:0
0x12e8cfa operands_scanner::build_ssa_operands()
???:0
0x12e8f44 update_stmt_operands(function*, gimple*)
???:0
0xd66fec gsi_insert_before(gimple_stmt_iterator*, gimple*, gsi_iterator_update)
???:0
0x1196551 tree_if_conversion(loop*, vec<gimple*, va_heap, vl_ptr>*)
???:0
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
```