https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110924
--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:31ec413098bd334115aff73fc755e49afd3ac371 commit r14-3076-g31ec413098bd334115aff73fc755e49afd3ac371 Author: Richard Biener <rguent...@suse.de> Date: Tue Aug 8 12:46:42 2023 +0200 tree-optimization/110924 - fix vop liveness for noreturn const CFG parts The virtual operand live problem used by sinking assumes we have virtual uses at each end point of the CFG but as shown in the PR this isn't true for parts for example ending in __builtin_unreachable. The following removes the optimization made possible by this and now requires marking backedges. PR tree-optimization/110924 * tree-ssa-live.h (virtual_operand_live): Update comment. * tree-ssa-live.cc (virtual_operand_live::get_live_in): Remove optimization, look at each predecessor. * tree-ssa-sink.cc (pass_sink_code::execute): Mark backedges. * gcc.dg/torture/pr110924.c: New testcase.