]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/19768 (ICE: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set)
authorAndrew Pinski <pinskia@physics.uc.edu>
Wed, 8 Jun 2005 18:04:18 +0000 (18:04 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Wed, 8 Jun 2005 18:04:18 +0000 (11:04 -0700)
2005-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/19768
        * tree-ssa-dse.c: Revert accidental committed patch.

From-SVN: r100773

gcc/ChangeLog
gcc/tree-ssa-dse.c

index fa11396326682da74dcba0ce829c04706f2296e5..05e49d10e37d57c3ce00907d6fa1ede4997b0347 100644 (file)
@@ -1,3 +1,8 @@
+2005-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/19768
+       * tree-ssa-dse.c: Revert accidental committed patch.
+
 2005-06-07  Richard Henderson  <rth@redhat.com>
 
        PR rtl-opt/21528
index de261d6ef022390b8d9bbe253261fef5479487d4..249132d0f61cf5e76d6305fbda69f536490e4d9f 100644 (file)
@@ -134,7 +134,13 @@ fix_phi_uses (tree phi, tree stmt)
   def_operand_p def_p;
   ssa_op_iter iter;
   int i;
-
+  edge e;
+  edge_iterator ei;
+  
+  FOR_EACH_EDGE (e, ei, PHI_BB (phi)->preds) 
+  if (e->flags & EDGE_ABNORMAL)
+    break;
+  
   get_stmt_operands (stmt);
 
   FOR_EACH_SSA_MAYDEF_OPERAND (def_p, use_p, stmt, iter)
@@ -146,7 +152,12 @@ fix_phi_uses (tree phi, tree stmt)
         them with the appropriate V_MAY_DEF_OP.  */
       for (i = 0; i < PHI_NUM_ARGS (phi); i++)
        if (v_may_def == PHI_ARG_DEF (phi, i))
-         SET_PHI_ARG_DEF (phi, i, v_may_use);
+         {
+           SET_PHI_ARG_DEF (phi, i, v_may_use);
+           /* Update if the new phi argument is an abnormal phi.  */
+           if (e != NULL)
+             SSA_NAME_OCCURS_IN_ABNORMAL_PHI (v_may_use) = 1;
+         }
     }
 }