aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2004-09-23 14:15:30 -0600
committerJeff Law <law@gcc.gnu.org>2004-09-23 14:15:30 -0600
commit3aecd08b530f563539bf75c35e78ab81032f217c (patch)
treebcd7348fb84a0565837d2e0909dc0d5a2d44241e /gcc/tree-ssa-pre.c
parent0c482362dd7c23fb89a324670636e8fee147774f (diff)
downloadgcc-3aecd08b530f563539bf75c35e78ab81032f217c.zip
gcc-3aecd08b530f563539bf75c35e78ab81032f217c.tar.gz
gcc-3aecd08b530f563539bf75c35e78ab81032f217c.tar.bz2
tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
* tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV. (substitute_and_fold): Likewise. * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything except invariants from SSA_NAME_VALUE. (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV. (restore_vars_to_original_value, record_const_or_copy): Likewise. (record_equivalences_from_phis, record_const_or_copy_1): Likewise. (record_equality, cprop_into_successor_phis): Likewise. (record_equivalences_from_stmt, cprop_operand): Likewise. (lookup_avail_expr): Likewise. * tree-ssa-pre.c (fini_pre): Remove everything except invariants from SSA_NAME_VALUE. * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill. (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip annotation from the VALUE_HANDLE field. From-SVN: r87979
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 2408fff..bfe39f4 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1964,6 +1964,8 @@ static void
fini_pre (void)
{
basic_block bb;
+ unsigned int i;
+
bsi_commit_edge_inserts (NULL);
obstack_free (&grand_bitmap_obstack, NULL);
@@ -1992,6 +1994,20 @@ fini_pre (void)
}
BITMAP_XFREE (need_eh_cleanup);
+
+ /* Wipe out pointers to VALUE_HANDLEs. In the not terribly distant
+ future we will want them to be persistent though. */
+ for (i = 0; i < num_ssa_names; i++)
+ {
+ tree name = ssa_name (i);
+
+ if (!name)
+ continue;
+
+ if (SSA_NAME_VALUE (name)
+ && TREE_CODE (SSA_NAME_VALUE (name)) == VALUE_HANDLE)
+ SSA_NAME_VALUE (name) = NULL;
+ }
}