tree-ssa-sccvn.c (run_scc_vn): Remove iteration propagating value_ids.
authorRichard Biener <rguenth@gcc.gnu.org>
Fri, 30 Nov 2012 10:58:22 +0000 (10:58 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 30 Nov 2012 10:58:22 +0000 (10:58 +0000)
2012-11-30  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.c (run_scc_vn): Remove iteration propagating
value_ids.

From-SVN: r193992

gcc/tree-ssa-sccvn.c

index a7f0f9aada1ec01c098a8342bc58072ef687ab67..279637fbf9f0b3865a0f1cca890315b0656b2fa7 100644 (file)
@@ -3983,7 +3983,6 @@ run_scc_vn (vn_lookup_kind default_vn_walk_kind_)
 {
   size_t i;
   tree param;
-  bool changed = true;
 
   default_vn_walk_kind = default_vn_walk_kind_;
 
@@ -4028,25 +4027,18 @@ run_scc_vn (vn_lookup_kind default_vn_walk_kind_)
        info->value_id = get_or_alloc_constant_value_id (info->valnum);
     }
 
-  /* Propagate until they stop changing.  */
-  while (changed)
+  /* Propagate.  */
+  for (i = 1; i < num_ssa_names; ++i)
     {
-      changed = false;
-      for (i = 1; i < num_ssa_names; ++i)
-       {
-         tree name = ssa_name (i);
-         vn_ssa_aux_t info;
-         if (!name)
-           continue;
-         info = VN_INFO (name);
-         if (TREE_CODE (info->valnum) == SSA_NAME
-             && info->valnum != name
-             && info->value_id != VN_INFO (info->valnum)->value_id)
-           {
-             changed = true;
-             info->value_id = VN_INFO (info->valnum)->value_id;
-           }
-       }
+      tree name = ssa_name (i);
+      vn_ssa_aux_t info;
+      if (!name)
+       continue;
+      info = VN_INFO (name);
+      if (TREE_CODE (info->valnum) == SSA_NAME
+         && info->valnum != name
+         && info->value_id != VN_INFO (info->valnum)->value_id)
+       info->value_id = VN_INFO (info->valnum)->value_id;
     }
 
   set_hashtable_value_ids ();