https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104800
--- Comment #5 from Martin Uecker <muecker at gwdg dot de> --- Different context, but also relevant: https://gcc.gnu.org/pipermail/gcc-patches/2022-February/590757.html "The problem is there may be observable side effects on the *0 path between the test and the actual *0 -- including calls to nonreturning functions, setjmp/longjmp, things that could trap, etc. This case is similar. We can't back-propagate the non-null status through any statements with observable side effects."