summaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2004-09-21 22:07:23 -0600
committerJeff Law <law@gcc.gnu.org>2004-09-21 22:07:23 -0600
commit195da47bbbf6402e3147dc1e6be6cacde140f7f3 (patch)
treeba1ee7d893d35a339821c16a830d1a3c262c07e7 /gcc/tree.h
parent0a4f0294304e28e3a5012ac4e1eaf966314de0c2 (diff)
downloadgcc-195da47bbbf6402e3147dc1e6be6cacde140f7f3.tar.gz
tree-ssa-ccp.c (get_default_value): If we have a constant value recorded for an SSA_NAME...
* tree-ssa-ccp.c (get_default_value): If we have a constant value recorded for an SSA_NAME, then use that constant as the initial lattice value. (substitute_and_fold): Transfer equivalences discovered into SSA_NAME_EQUIV. * tree.h (SSA_NAME_EQUIV): Add comments. (SET_SSA_NAME_EQUIV): Similarly. From-SVN: r87844
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 0f78e743897..e2742bc5c68 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1304,13 +1304,14 @@ struct tree_exp GTY(())
#define SSA_NAME_OCCURS_IN_ABNORMAL_PHI(NODE) \
SSA_NAME_CHECK (NODE)->common.asm_written_flag
-
/* Nonzero if this SSA_NAME expression is currently on the free list of
SSA_NAMES. Using NOTHROW_FLAG seems reasonably safe since throwing
has no meaning for an SSA_NAME. */
#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) \
@@ -1318,6 +1319,8 @@ struct tree_exp GTY(())
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);