https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68671
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- no_side_effect_bb should already ensure that the bbs that maybe_optimize_range_tests is considering don't contain anything but the final condition and optionally non-trapping no-side-effects assignments which are only used within the same bb (so pretty much to compute the condition, or have no non-debug uses at all). So, I believe we just need to go and reset value ranges for the SSA_NAMEs in the blocks after the first one we've changed up to the last bb considered, because changes to the conditions or SSA_NAMEs that feed those conditions could cause non-trapping no-side-effect assignments in those bbs to be executable even when they wouldn't be in the original program.