https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104387
Jeffrey A. Law <law at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at gcc dot gnu.org --- Comment #5 from Jeffrey A. Law <law at gcc dot gnu.org> --- As noted in bz111384, this can be addressed via Joern's extension DCE pass that we're beating on right now. Conceptually it tracks liveness of sub-word objects within a register and when it encounters an extension that sets bits that are never read, it eliminates the extension. Conceptually simple and we've confirmed it addresses the issue in 111384. I strongly suspect it would fix this one as well. It's still got bugs and isn't really for integration, but to date Joern's basic approach seems the most viable for eliminating unnecessary extensions.