A warning pass should not be exporting global ranges it finds along the way, because that will alter the behavior of future passes.
The reason the present behavior was there was because of some long ago forgotten regression in another pass. This regression is no longer there, and if there's ever any fallout from cleaning this up, we can address it in the pass that is missing some information. This pass hardly changes, so it should be ok to commit now. gcc/ChangeLog: * gimple-ssa-warn-alloca.cc (pass_walloca::execute): Do not export global ranges. --- gcc/gimple-ssa-warn-alloca.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gcc/gimple-ssa-warn-alloca.cc b/gcc/gimple-ssa-warn-alloca.cc index 5b220a5c68e..4374f572cd9 100644 --- a/gcc/gimple-ssa-warn-alloca.cc +++ b/gcc/gimple-ssa-warn-alloca.cc @@ -256,7 +256,7 @@ in_loop_p (gimple *stmt) unsigned int pass_walloca::execute (function *fun) { - gimple_ranger *ranger = enable_ranger (fun); + enable_ranger (fun); basic_block bb; FOR_EACH_BB_FN (bb, fun) { @@ -379,7 +379,6 @@ pass_walloca::execute (function *fun) } } } - ranger->export_global_ranges (); disable_ranger (fun); return 0; } -- 2.39.2