https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68976

vries at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vries at gcc dot gnu.org

--- Comment #7 from vries at gcc dot gnu.org ---
This patch triggers the error earlier, at the point where we insert a phi
argument that is not dominated by its def:
...
diff --git a/gcc/sese.c b/gcc/sese.c
index 59d2770..9dbc3c8 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -278,6 +278,8 @@ sese_add_exit_phis_edge (basic_block exit, tree use, edge
false_e, edge true_e)
   gphi *phi = create_phi_node (NULL_TREE, exit);
   create_new_def_for (use, phi, gimple_phi_result_ptr (phi));
   add_phi_arg (phi, use, false_e, UNKNOWN_LOCATION);
+  gcc_assert (dominated_by_p (CDI_DOMINATORS, true_e->src,
+                             gimple_bb (SSA_NAME_DEF_STMT (use))));
   add_phi_arg (phi, use, true_e, UNKNOWN_LOCATION);
   update_stmt (phi);
 }
...

Reply via email to