https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86158
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- So apparently it started with r265391, where following hunk removal fixed that: diff --git a/gcc/gimple-ssa-evrp-analyze.c b/gcc/gimple-ssa-evrp-analyze.c index b7b0fd8f17c..45c215d78c6 100644 --- a/gcc/gimple-ssa-evrp-analyze.c +++ b/gcc/gimple-ssa-evrp-analyze.c @@ -209,10 +209,6 @@ evrp_range_analyzer::record_ranges_from_incoming_edge (basic_block bb) value_range *old_vr = get_value_range (vrs[i].first); value_range tem (old_vr->kind (), old_vr->min (), old_vr->max ()); tem.intersect (vrs[i].second); - if (tem.kind () == old_vr->kind () - && tem.min () == old_vr->min () - && tem.max () == old_vr->max ()) - continue; push_value_range (vrs[i].first, vrs[i].second); if (is_fallthru && all_uses_feed_or_dominated_by_stmt (vrs[i].first, stmt)) and as mentioned on IRC, w/o -fdump-tree-all it's all fine.