https://gcc.gnu.org/g:7c1b136630790eb34d57c45d9a816b32fd904e3f

commit r15-146-g7c1b136630790eb34d57c45d9a816b32fd904e3f
Author: Aldy Hernandez <al...@redhat.com>
Date:   Wed Mar 20 06:39:07 2024 +0100

    Add hashing support for prange.
    
    gcc/ChangeLog:
    
            * value-range.cc (add_vrange): Add prange support.

Diff:
---
 gcc/value-range.cc | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index 84113ccfbd0..62170a438bf 100644
--- a/gcc/value-range.cc
+++ b/gcc/value-range.cc
@@ -346,6 +346,22 @@ add_vrange (const vrange &v, inchash::hash &hstate,
       hstate.add_wide_int (bm.mask ());
       return;
     }
+  if (is_a <prange> (v))
+    {
+      const prange &r = as_a <prange> (v);
+      if (r.varying_p ())
+       hstate.add_int (VR_VARYING);
+      else
+       {
+         hstate.add_int (VR_RANGE);
+         hstate.add_wide_int (r.lower_bound ());
+         hstate.add_wide_int (r.upper_bound ());
+         irange_bitmask bm = r.get_bitmask ();
+         hstate.add_wide_int (bm.value ());
+         hstate.add_wide_int (bm.mask ());
+       }
+      return;
+    }
   if (is_a <frange> (v))
     {
       const frange &r = as_a <frange> (v);

Reply via email to