diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2024-11-25 09:50:33 -0500 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2024-12-06 16:32:16 -0500 |
commit | 48eda34624fe5de050ae5ee38a360155ab188c39 (patch) | |
tree | 287824f3ecb3fc1c1f4e1d4bc220b245073bc4d4 | |
parent | 75e7d1600f47859df40b2ac0feff5a71e0dbb040 (diff) | |
download | gcc-48eda34624fe5de050ae5ee38a360155ab188c39.zip gcc-48eda34624fe5de050ae5ee38a360155ab188c39.tar.gz gcc-48eda34624fe5de050ae5ee38a360155ab188c39.tar.bz2 |
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.
-rw-r--r-- | gcc/gimple-range-cache.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/gimple-range-cache.cc b/gcc/gimple-range-cache.cc index 8b7189e..c9016fe 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)) |