]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
single_import changes by Andrew to fix my backwards threaders problems.
authorAldy Hernandez <aldyh@gcc.gnu.org>
Fri, 13 Apr 2018 08:12:44 +0000 (08:12 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Fri, 13 Apr 2018 08:12:44 +0000 (08:12 +0000)
From-SVN: r259365

gcc/ssa-range-bb.c

index c9408ae4f6556d3626501cd80e5cfd83b0479471..a19b482c28685eb2b1e38e31091714fa7b4a9138 100644 (file)
@@ -189,9 +189,11 @@ gori_map::single_import (tree name)
   basic_block bb;
   bitmap_iterator bi;
 
+  bb = gimple_bb (SSA_NAME_DEF_STMT (name));
+  if (bb && !incoming[bb->index])
+    calculate_gori (bb);
   if (def_chain [name_index] == NULL)
     return NULL_TREE;
-  bb = gimple_bb (SSA_NAME_DEF_STMT (name));
 
   EXECUTE_IF_AND_IN_BITMAP (def_chain [name_index], incoming[bb->index], 0,
                            index, bi)
@@ -241,7 +243,7 @@ gori_map::calc_def_chain (tree name, basic_block bb)
   unsigned v = SSA_NAME_VERSION (name);
   range_stmt rn;
 
-  if (!stmt || gimple_bb (stmt) != bb)
+  if (!stmt || gimple_bb (stmt) != bb || is_a <gphi *> (stmt))
     {
       bitmap_set_bit (incoming[bb->index], v);
       return NULL;