https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125857
--- Comment #6 from Andrew Macleod <amacleod at redhat dot com> ---
So if I remove the assert from tree-vrp which is triggering, it simply causes
an ice elsewhere:
dmm.c: In function ‘d’:
mm.c:8:10: warning: function may return address of local variable
[-Wreturn-local-addr]
8 | return f;
| ^
mm.c:3:7: note: declared here
3 | int e, *f = &e;
| ^
mainduring GIMPLE pass: pre
mm.c: In function ‘main’:
mm.c:10:5: internal compiler error: Segmentation fault
10 | int main() { *b = d(); }
| ^~~~
0x3b38bde internal_error(char const*, ...)
/gcc/master/gcc/gcc/diagnostic-global-context.cc:787
0x1ac8b53 crash_signal
/gcc/master/gcc/gcc/toplev.cc:325
0x1da49bb ao_ref_init_from_vn_reference(ao_ref*, int, int, tree_node*,
vec<vn_reference_op_struct, va_heap, vl_ptr> const&)
/gcc/master/gcc/gcc/tree-ssa-sccvn.cc:1222
0x1daf642 vn_reference_lookup_pieces(tree_node*, int, int, tree_node*,
vec<vn_reference_op_struct, va_heap, vl_ptr>, vn_reference_s**, vn_lookup_kind)
/gcc/master/gcc/gcc/tree-ssa-sccvn.cc:4166
0x1d77529 compute_avail
/gcc/master/gcc/gcc/tree-ssa-pre.cc:4377
0x1d78140 execute
/gcc/master/gcc/gcc/tree-ssa-pre.cc:4641
./cc1 -O3 mm.c