aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2018-09-12 07:04:19 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2018-09-12 07:04:19 +0000
commit28aa63232068fa0adb8911b1987ff9efa0101750 (patch)
tree8f15a200648baa936a0018cd2c49ea033a8358e7 /gcc/tree-vrp.c
parentbb753cad995b2a0f98a566cc710feef45e1b46b3 (diff)
downloadgcc-28aa63232068fa0adb8911b1987ff9efa0101750.zip
gcc-28aa63232068fa0adb8911b1987ff9efa0101750.tar.gz
gcc-28aa63232068fa0adb8911b1987ff9efa0101750.tar.bz2
tree-vrp.c (vrp_shift_undefined_p): Remove.
* tree-vrp.c (vrp_shift_undefined_p): Remove. (extract_range_from_binary_expr_1: Call wide_int_range_shift_undefined_p instead of vrp_shift_undefined_p. * wide-int-range.h (wide_int_range_shift_undefined_p): Do not depend on sign. From-SVN: r264228
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index a82cf3e..d26011a 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -1018,17 +1018,6 @@ extract_range_into_wide_ints (const value_range *vr,
}
}
-/* Value range wrapper for wide_int_range_shift_undefined_p. */
-
-static inline bool
-vrp_shift_undefined_p (const value_range &shifter, unsigned prec)
-{
- tree type = TREE_TYPE (shifter.min);
- return wide_int_range_shift_undefined_p (TYPE_SIGN (type), prec,
- wi::to_wide (shifter.min),
- wi::to_wide (shifter.max));
-}
-
/* Value range wrapper for wide_int_range_multiplicative_op:
*VR = *VR0 .CODE. *VR1. */
@@ -1549,7 +1538,9 @@ extract_range_from_binary_expr_1 (value_range *vr,
|| code == LSHIFT_EXPR)
{
if (range_int_cst_p (&vr1)
- && !vrp_shift_undefined_p (vr1, prec))
+ && !wide_int_range_shift_undefined_p (prec,
+ wi::to_wide (vr1.min),
+ wi::to_wide (vr1.max)))
{
if (code == RSHIFT_EXPR)
{