https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120278
--- Comment #7 from Ken Young <selectstriker2 at protonmail dot com> --- I guess what I mean by "incorrect" is a branch tree where some of the branch nodes will never evaluate for both true and false conditions. I now see that the switch/case "cleanup" has been moved to an optimization pass as it's acceptable to increase compile time when optimizing. It's just unfortunate for critical device applications where we can't just accept everything done in -O1 or -Og generated code and essentially have to work with -O0.