[Bug middle-end/58681] Missed RTL optimization - same insns before unconditional jump as before the jump target
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Dec 6 22:15:06 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58681
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So the reason why this was not fixed by r12-5301-g045206450386 (which is unlike
PR 46555) is because here we have VOP that is the same edges so the forwarder
block was removed after cddce3 and not kept around. In PR 46555, the VOP for
the forwarder block got the vop phi in it and cleanupcfg did know how to remove
forwarder blocks with phis just yet (well until r16-5258-g1d8e2d51e5c5cb).
Anyways my patch set ending at
https://gcc.gnu.org/pipermail/gcc-patches/2025-December/703029.html fixes this
correctly by not doing a cleanup cfg between the creating of the forwarder
blocks and expand.
More information about the Gcc-bugs
mailing list