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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This should fix the issue:
apinski@xeond:~/src/upstream-gcc/gcc/gcc$ git diff tree-ssa-phiopt.cc
diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc
index c3a889dc593..a7ab6ce4ad9 100644
--- a/gcc/tree-ssa-phiopt.cc
+++ b/gcc/tree-ssa-phiopt.cc
@@ -1002,6 +1002,11 @@ match_simplify_replacement (basic_block cond_bb,
basic_block middle_bb,
       if (!single_pred_p (middle_bb))
        return false;

+      /* The middle bb cannot have phi nodes as we don't
+        move those assignments yet. */
+      if (!gimple_seq_empty_p (phi_nodes (middle_bb)))
+       return false;
+
       stmt_to_move = last_and_only_stmt (middle_bb);
       if (!stmt_to_move)
        return false;

Reply via email to