https://gcc.gnu.org/g:d6cecdd745c0d3319bdecf98ba897284627c08af
commit r17-1918-gd6cecdd745c0d3319bdecf98ba897284627c08af Author: Andrew MacLeod <[email protected]> Date: Thu Jun 25 16:09:39 2026 -0400 Add debug counter to ranger PR tree-optimization/125979 * dbgcnt.def: Add ranger_cnt. * gimple-range.cc (gimple_ranger::range_of_expr): Add debug_cnt. (gimple_ranger::range_on_entry): Likewise. (gimple_ranger::range_on_exit): Likewise. (gimple_ranger::range_on_edge); Likewise. (gimple_ranger::range_of_stmt): Likewise (dom_ranger::range_of_expr): Likewise. (dom_ranger::range_on_edge): Likewise. (dom_ranger::range_of_stmt): Likewise. Diff: --- gcc/dbgcnt.def | 1 + gcc/gimple-range.cc | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def index 40305d3d685a..ac6a8b771194 100644 --- a/gcc/dbgcnt.def +++ b/gcc/dbgcnt.def @@ -198,6 +198,7 @@ DEBUG_COUNTER (postreload_cse) DEBUG_COUNTER (pre) DEBUG_COUNTER (pre_insn) DEBUG_COUNTER (prefetch) +DEBUG_COUNTER (ranger_cnt) DEBUG_COUNTER (registered_jump_thread) DEBUG_COUNTER (sched2_func) DEBUG_COUNTER (sched_breakdep) diff --git a/gcc/gimple-range.cc b/gcc/gimple-range.cc index b8b98dc8131f..71e9038467d5 100644 --- a/gcc/gimple-range.cc +++ b/gcc/gimple-range.cc @@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-range.h" #include "gimple-fold.h" #include "gimple-walk.h" +#include "dbgcnt.h" gimple_ranger::gimple_ranger (bool use_imm_uses) : non_executable_edge_flag (cfun), @@ -84,6 +85,9 @@ gimple_ranger::const_query () bool gimple_ranger::range_of_expr (vrange &r, tree expr, gimple *stmt) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_of_expr (r, expr, stmt); + unsigned idx; if (!gimple_range_ssa_p (expr)) return get_tree_range (r, expr, stmt); @@ -159,6 +163,9 @@ gimple_ranger::range_of_expr (vrange &r, tree expr, gimple *stmt) bool gimple_ranger::range_on_entry (vrange &r, basic_block bb, tree name) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_on_entry (r, bb, name); + if (!gimple_range_ssa_p (name)) return get_tree_range (r, name, NULL, bb, NULL); @@ -189,6 +196,9 @@ gimple_ranger::range_on_entry (vrange &r, basic_block bb, tree name) bool gimple_ranger::range_on_exit (vrange &r, basic_block bb, tree name) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_on_exit (r, bb, name); + if (!gimple_range_ssa_p (name)) return get_tree_range (r, name, NULL, NULL, bb); @@ -228,6 +238,9 @@ gimple_ranger::range_on_exit (vrange &r, basic_block bb, tree name) bool gimple_ranger::range_on_edge (vrange &r, edge e, tree name) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_on_edge (r, e, name); + value_range edge_range (TREE_TYPE (name)); if (!r.supports_type_p (TREE_TYPE (name))) @@ -295,6 +308,9 @@ gimple_ranger::fold_range_internal (vrange &r, gimple *s, tree name) bool gimple_ranger::range_of_stmt (vrange &r, gimple *s, tree name) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_of_stmt (r, s, name); + bool res; r.set_undefined (); @@ -778,6 +794,9 @@ dom_ranger::~dom_ranger () bool dom_ranger::range_of_expr (vrange &r, tree expr, gimple *s) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_of_expr (r, expr, s); + unsigned idx; if (!gimple_range_ssa_p (expr)) return get_tree_range (r, expr, s); @@ -811,6 +830,9 @@ dom_ranger::range_of_expr (vrange &r, tree expr, gimple *s) bool dom_ranger::range_on_edge (vrange &r, edge e, tree expr) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_on_edge (r, e, expr); + if (!gimple_range_ssa_p (expr)) return get_tree_range (r, expr, NULL, NULL, NULL, e); @@ -859,6 +881,9 @@ dom_ranger::range_in_bb (vrange &r, basic_block bb, tree name) bool dom_ranger::range_of_stmt (vrange &r, gimple *s, tree name) { + if (!dbg_cnt (ranger_cnt)) + return get_global_range_query ()->range_of_stmt (r, s, name); + unsigned idx; bool ret; if (!name)
