https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79958
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at redhat dot com --- Comment #3 from Jeffrey A. Law <law at redhat dot com> --- Even if we were to follow both paths, only one path has the necessary clobbers that would allow DSE to optimize away the assignment. One could make an argument that a call to __builtin_abort should be generating the necessary clobbers, or that they should be implicit. If we were to fix the clobbers so that they existed on both paths, then ISTM that we have to prove that the store is dead on all paths from the store. If it is only dead on some paths then it ought to be a candidate for sinking. This might argue that DSE and sinking should be sharing more infrastructure. Anyway, seems like GCC 9 or later work.