Add range intersect with 2 wide-ints.
authorAndrew MacLeod <amacleod@redhat.com>
Mon, 4 Oct 2021 19:30:44 +0000 (15:30 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Wed, 6 Oct 2021 13:19:06 +0000 (09:19 -0400)
commitad451b020a24fe7111e668f8c41a3ba648104569
treedb39edc76cfbe976d513ef738e65096d0f255775
parent3ca950c3525527846f13e8c547368ef432547a23
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.
gcc/gimple-range-cache.cc
gcc/gimple-range-fold.cc
gcc/value-range.cc
gcc/value-range.h