diff options
author | Jeff Law <law@redhat.com> | 2004-09-23 14:15:30 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2004-09-23 14:15:30 -0600 |
commit | 3aecd08b530f563539bf75c35e78ab81032f217c (patch) | |
tree | bcd7348fb84a0565837d2e0909dc0d5a2d44241e /gcc/tree-ssa-pre.c | |
parent | 0c482362dd7c23fb89a324670636e8fee147774f (diff) | |
download | gcc-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.c | 16 |
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; + } } |