aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2021-10-04 15:30:44 -0400
committerAndrew MacLeod <amacleod@redhat.com>2021-10-06 09:19:06 -0400
commitad451b020a24fe7111e668f8c41a3ba648104569 (patch)
treedb39edc76cfbe976d513ef738e65096d0f255775 /gcc/value-range.h
parent3ca950c3525527846f13e8c547368ef432547a23 (diff)
downloadgcc-ad451b020a24fe7111e668f8c41a3ba648104569.zip
gcc-ad451b020a24fe7111e668f8c41a3ba648104569.tar.gz
gcc-ad451b020a24fe7111e668f8c41a3ba648104569.tar.bz2
Add range intersect with 2 wide-ints.
Add a more efficent intersect using a lower/upper bound single pair of wide_ints. * gimple-range-cache.cc (non_null_ref::adjust_range): Call new intersect routine. * gimple-range-fold.cc (adjust_pointer_diff_expr): Ditto. (adjust_imagpart_expr): Ditto. * value-range.cc (irange::irange_intersect): Call new routine if RHS is a single pair. (irange::intersect): New wide_int version. * value-range.h (class irange): New prototype.
Diffstat (limited to 'gcc/value-range.h')
-rw-r--r--gcc/value-range.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/value-range.h b/gcc/value-range.h
index 39e8f3b..ff6c0a6 100644
--- a/gcc/value-range.h
+++ b/gcc/value-range.h
@@ -73,6 +73,7 @@ public:
// In-place operators.
void union_ (const irange &);
void intersect (const irange &);
+ void intersect (const wide_int& lb, const wide_int& ub);
void invert ();
// Operator overloads.