aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2013-11-28 16:15:52 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2013-11-28 16:15:52 +0000
commitf5c8b24c731e1b0343cbdcc3438ab4c40e82fc71 (patch)
tree217f4d30b00b58d646c8c06c615dd102545bacf3 /gcc/tree.h
parent3c716922ad6b887c3471cff5b9748d2e3ae3174d (diff)
downloadgcc-f5c8b24c731e1b0343cbdcc3438ab4c40e82fc71.zip
gcc-f5c8b24c731e1b0343cbdcc3438ab4c40e82fc71.tar.gz
gcc-f5c8b24c731e1b0343cbdcc3438ab4c40e82fc71.tar.bz2
tree-core.h (tree_base): Document use of static_flag for SSA_NAME.
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. From-SVN: r205489
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 11ab1ce..7a95da9 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