https://gcc.gnu.org/g:0da74bc82b0b57142878590b7d031939c6e6d220
commit r16-5163-g0da74bc82b0b57142878590b7d031939c6e6d220 Author: Richard Biener <[email protected]> Date: Fri Nov 7 13:50:02 2025 +0100 Improve range_on_edge for GENERIC expressions When feeding non-SSA names to range_on_edge we degrade to a non-contextual query. The following uses the argument added in the previous patch to indicate the edge as the location of the range query. * gimple-range.cc (gimple_ranger::range_on_edge): Pass the edge as 'edge' to get_tree_range. (dom_ranger::range_on_edge): Likewise. Diff: --- gcc/gimple-range.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/gimple-range.cc b/gcc/gimple-range.cc index e91eeb455f1b..ced574d72f3c 100644 --- a/gcc/gimple-range.cc +++ b/gcc/gimple-range.cc @@ -252,7 +252,7 @@ gimple_ranger::range_on_edge (vrange &r, edge e, tree name) bool res = true; if (!gimple_range_ssa_p (name)) - res = get_tree_range (r, name, NULL); + res = get_tree_range (r, name, NULL, NULL, NULL, e); else { range_on_exit (r, e->src, name); @@ -783,7 +783,7 @@ bool dom_ranger::range_on_edge (vrange &r, edge e, tree expr) { if (!gimple_range_ssa_p (expr)) - return get_tree_range (r, expr, NULL); + return get_tree_range (r, expr, NULL, NULL, NULL, e); basic_block bb = e->src; unsigned idx;
