[Bug bootstrap/77768] [7 Regression] LTO/PGO -O3 bootstrap broken: tree-vrp.c:11053:0: internal compiler error: Segmentation fault

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Sep 29 07:08:00 GMT 2016


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))
                    {


More information about the Gcc-bugs mailing list