summaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2018-07-19 09:12:32 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2018-07-19 09:12:32 +0000
commit3bb1161faf370fb5f6c8745e2c7d4d60cdc30835 (patch)
tree207eeddd30feb310bbc8f4339783c1b9a6aefd4e /gcc/tree.h
parent30ae6662408271f96a97d28f684022c413b71063 (diff)
wide-int.h (widest2_int): New.
* wide-int.h (widest2_int): New. * gimple-fold.c (arith_overflowed_p): Use it. * tree.h (widest2_int_cst): New. * tree-vrp.c (wide_int_binop_overflow): Rename from vrp_int_const_binop. Rewrite to work on trees. (extract_range_from_multiplicative_op_1): Abstract code to... (wide_int_range_min_max): ...here. (wide_int_range_cross_product): ...and here. (extract_range_from_binary_expr_1): Abstract overflow code to... (wide_int_range_cross_product_wrapping): ...here. * tree-vrp.h (wide_int_range_cross_product): New. (wide_int_range_cross_product_wrapping): New. From-SVN: r262874
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 79b675025d9..d15f117b513 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -5416,6 +5416,11 @@ namespace wi
};
}
+/* Used to convert a tree to a widest2_int like this:
+ widest2_int foo = widest2_int_cst (some_tree). */
+typedef generic_wide_int <wi::extended_tree <WIDE_INT_MAX_PRECISION * 2> >
+ widest2_int_cst;
+
/* Refer to INTEGER_CST T as though it were a widest_int.
This function gives T's actual numerical value, influenced by the