aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
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.h
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.h')
-rw-r--r--gcc/tree.h22
1 files changed, 6 insertions, 16 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index a913d74..83dc19a 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1312,20 +1312,6 @@ struct tree_exp GTY(())
#define SSA_NAME_IN_FREE_LIST(NODE) \
SSA_NAME_CHECK (NODE)->common.nothrow_flag
-/* If NAME is equivalent to some other SSA_NAME or an invariant, then
- return the equivalent SSA_NAME or invariant, else return NULL. */
-#define SSA_NAME_EQUIV(NAME) __extension__ \
- ({ tree equiv = SSA_NAME_CHECK (NAME)->ssa_name.equiv; \
- if (equiv && TREE_CODE (equiv) == SSA_NAME) \
- equiv = ssa_name (SSA_NAME_VERSION (equiv)); \
- equiv; \
- })
-
-/* Record that NAME (an SSA_NAME) is equivalent to EQUIV. */
-
-#define SET_SSA_NAME_EQUIV(NAME, EQUIV)\
- SSA_NAME_CHECK (NAME)->ssa_name.equiv = (EQUIV);
-
/* Attributes for SSA_NAMEs for pointer-type variables. */
#define SSA_NAME_PTR_INFO(N) \
SSA_NAME_CHECK (N)->ssa_name.ptr_info
@@ -1357,8 +1343,12 @@ struct tree_ssa_name GTY(())
/* Pointer attributes used for alias analysis. */
struct ptr_info_def *ptr_info;
- /* Value for SSA name used by GVN. */
- tree GTY((skip)) value_handle;
+ /* Value for SSA name used by various passes.
+
+ Right now only invariants are allowed to persist beyond a pass in
+ this field; in the future we will allow VALUE_HANDLEs to persist
+ as well. */
+ tree value_handle;
/* Auxiliary information stored with the ssa name. */
PTR GTY((skip)) aux;