summaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-28 16:15:52 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-28 16:15:52 +0000
commitc6a711c35b88fbed90b943a038e320e90f31eb35 (patch)
tree217f4d30b00b58d646c8c06c615dd102545bacf3 /gcc/tree.h
parent1f88bc7951b32a6576a9219fa5676a29dcead06a (diff)
downloadgcc-c6a711c35b88fbed90b943a038e320e90f31eb35.tar.gz
gcc/
* tree-core.h (tree_base): Document use of static_flag for SSA_NAME. * tree.h (SSA_NAME_ANTI_RANGE_P, SSA_NAME_RANGE_TYPE): New macros. * tree-ssanames.h (set_range_info): Add range_type argument. (duplicate_ssa_name_range_info): Likewise. * tree-ssanames.c (set_range_info): Take the range type as argument and store it in SSA_NAME_ANTI_RANGE_P. (duplicate_ssa_name_range_info): Likewise. (get_range_info): Use SSA_NAME_ANTI_RANGE_P. (set_nonzero_bits): Update call to set_range_info. (duplicate_ssa_name_fn): Update call to duplicate_ssa_name_range_info. * tree-ssa-copy.c (fini_copy_prop): Likewise. * tree-vrp.c (remove_range_assertions): Update call to set_range_info. (vrp_finalize): Likewise, passing anti-ranges directly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205489 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 11ab1ce3eb0..7a95da9850f 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1436,6 +1436,14 @@ extern void protected_set_expr_location (tree, location_t);
#define SSA_NAME_PTR_INFO(N) \
SSA_NAME_CHECK (N)->ssa_name.info.ptr_info
+/* True if SSA_NAME_RANGE_INFO describes an anti-range. */
+#define SSA_NAME_ANTI_RANGE_P(N) \
+ SSA_NAME_CHECK (N)->base.static_flag
+
+/* The type of range described by SSA_NAME_RANGE_INFO. */
+#define SSA_NAME_RANGE_TYPE(N) \
+ (SSA_NAME_ANTI_RANGE_P (N) ? VR_ANTI_RANGE : VR_RANGE)
+
/* Value range info attributes for SSA_NAMEs of non pointer-type variables. */
#define SSA_NAME_RANGE_INFO(N) \
SSA_NAME_CHECK (N)->ssa_name.info.range_info