https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77768
--- Comment #8 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Looks like tree-ssa-pre.c also needs to be guarded: 0x10c3a273 crash_signal ../../gcc/gcc/toplev.c:337 0x10f30e2c eliminate_dom_walker::before_dom_children(basic_block_def*) ../../gcc/gcc/tree-ssa-pre.c:4448 0x11807427 dom_walker::walk(basic_block_def*) ../../gcc/gcc/domwalk.c:265 0x10f2a9a7 eliminate ../../gcc/gcc/tree-ssa-pre.c:4709 0x10f3e31f execute ../../gcc/gcc/tree-ssa-pre.c:5055 diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 3675fb9..cc008c2 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -4445,8 +4445,8 @@ eliminate_dom_walker::before_dom_children (basic_block b) /* We can only remove the later store if the former aliases at least all accesses the later one does. */ alias_set_type set = get_alias_set (lhs); - if (vnresult->set == set - || alias_set_subset_of (set, vnresult->set)) + if (vnresult && (vnresult->set == set + || alias_set_subset_of (set, vnresult->set))) { if (dump_file && (dump_flags & TDF_DETAILS)) {