https://gcc.gnu.org/g:a2f39ed4bdbdb8b26b3bd3de6a8007903d03159d

commit r17-3814-ga2f39ed4bdbdb8b26b3bd3de6a8007903d03159d
Author: Andrew MacLeod <[email protected]>
Date:   Mon Aug 31 10:00:27 2026 -0400

    Dont access unused fields in set_prange.
    
            PR tree-optimization/127154
            * value-range-storage.cc (prange_storage::set_prange) Access
            bitmask and points to fields only for kinds those that use them

Diff:
---
 gcc/value-range-storage.cc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gcc/value-range-storage.cc b/gcc/value-range-storage.cc
index 827a5260a19a..14fa6e29a9f9 100644
--- a/gcc/value-range-storage.cc
+++ b/gcc/value-range-storage.cc
@@ -710,9 +710,9 @@ prange_storage::set_prange (const prange &r)
 {
   unsigned num_words;
   m_kind = prange_format (r, num_words);
-  m_has_bitmask = !r.get_bitmask ().unknown_p ();
+  m_has_bitmask = false;
+  m_points_to_p = false;
   m_pt = r.m_pt;
-  m_points_to_p = r.m_points_to_p;
 
   unsigned index = 0;
 
@@ -733,6 +733,9 @@ prange_storage::set_prange (const prange &r)
        gcc_unreachable ();
     }
 
+  m_has_bitmask = !r.get_bitmask ().unknown_p ();
+  m_points_to_p = r.m_points_to_p;
+
   if (m_has_bitmask)
     {
       irange_bitmask bm = r.m_bitmask;

Reply via email to