diff options
author | Richard Biener <rguenth@gcc.gnu.org> | 2012-11-30 10:58:22 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-11-30 10:58:22 +0000 |
commit | bb35348a1be9cba6ae65b4af0bf2b592112c330c (patch) | |
tree | e6cb670f41b458c70ead4151e5eb34aa0986a493 /gcc/tree-ssa-sccvn.c | |
parent | 7dcdcbc0a63aa00be14b2b200b56557e6fb33fa6 (diff) | |
download | gcc-bb35348a1be9cba6ae65b4af0bf2b592112c330c.zip gcc-bb35348a1be9cba6ae65b4af0bf2b592112c330c.tar.gz gcc-bb35348a1be9cba6ae65b4af0bf2b592112c330c.tar.bz2 |
tree-ssa-sccvn.c (run_scc_vn): Remove iteration propagating value_ids.
2012-11-30 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (run_scc_vn): Remove iteration propagating
value_ids.
From-SVN: r193992
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index a7f0f9a..279637f 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -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 (); |