tree-optimization/106593 - fix ICE with backward threading
authorRichard Biener <rguenther@suse.de>
Fri, 12 Aug 2022 10:20:13 +0000 (12:20 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 12 Aug 2022 11:37:31 +0000 (13:37 +0200)
With the last re-org I failed to make sure to not add SSA names
nor supported by ranger into m_imports which then triggers an
ICE in range_on_path_entry because range_of_expr returns false.

PR tree-optimization/106593
* tree-ssa-threadbackward.cc (back_threader::find_paths):
If the imports from the conditional do not satisfy
gimple_range_ssa_p don't try to thread anything.

gcc/tree-ssa-threadbackward.cc

index 546a776..b886027 100644 (file)
@@ -518,7 +518,11 @@ back_threader::find_paths (basic_block bb, tree name)
       bitmap_clear (m_imports);
       ssa_op_iter iter;
       FOR_EACH_SSA_TREE_OPERAND (name, stmt, iter, SSA_OP_USE)
-       bitmap_set_bit (m_imports, SSA_NAME_VERSION (name));
+       {
+         if (!gimple_range_ssa_p (name))
+           return;
+         bitmap_set_bit (m_imports, SSA_NAME_VERSION (name));
+       }
 
       // Interesting is the set of imports we still not have see
       // the definition of.  So while imports only grow, the