https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87440
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Created attachment 44754 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44754&action=edit not working patch Simply merging the single subblock of an inline block runs afoul several issues: - dead block removal can make it multiple subblocks (the assert in the patch fires) - dead block removal can make us elide "real" scopes which isn't a problem for live variables but it will hide optimized out ones. So one could call the block eliding premature optimization... but it's somewhat hardwired as we do not emit begin/end labels for that block.