https://gcc.gnu.org/g:48eda34624fe5de050ae5ee38a360155ab188c39

commit r15-5998-g48eda34624fe5de050ae5ee38a360155ab188c39
Author: Andrew MacLeod <amacl...@redhat.com>
Date:   Mon Nov 25 09:50:33 2024 -0500

    Do not calculate an entry range for invariant names.
    
    If an SSA_NAME is invariant, do not calculate an on_entry value.
    
            PR tree-optimization/117467
            * gimple-range-cache.cc (ranger_cache::entry_range): Do not
            invoke range_from_dom for invariant ssa-names.

Diff:
---
 gcc/gimple-range-cache.cc | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gcc/gimple-range-cache.cc b/gcc/gimple-range-cache.cc
index 8b7189eb5b83..c9016fe988db 100644
--- a/gcc/gimple-range-cache.cc
+++ b/gcc/gimple-range-cache.cc
@@ -1183,6 +1183,13 @@ ranger_cache::entry_range (vrange &r, tree name, 
basic_block bb,
       return;
     }
 
+  // If NAME is invariant, simply return the defining range.
+  if (!gori ().has_edge_range_p (name))
+    {
+      range_of_def (r, name);
+      return;
+    }
+
   // Look for the on-entry value of name in BB from the cache.
   // Otherwise pick up the best available global value.
   if (!m_on_entry.get_bb_range (r, name, bb))

Reply via email to