From da6ac91f21c3472c6067c8e7d65179de7770d16c Mon Sep 17 00:00:00 2001
From: Andrew MacLeod <amacleod@redhat.com>
Date: Mon, 31 Aug 2026 10:00:27 -0400
Subject: [PATCH 1/2] 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
---
 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 827a5260a19..14fa6e29a9f 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;
-- 
2.55.0

