https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110252
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Created attachment 55323 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55323&action=edit Patch which fixes this issue This patch fixes the issue by temporary removing the flow sensitive information on the statement that will be moved while trying out match-and-simplify. We don't want to remove the flow sensitive information always because if we don't decide to move it in the end, we just lost it. I am not the best at naming things so the name of the class will most likely change before I submit the patch. But I wanted to give a preview here. Note this is a latent bug in phiopt since the match-and-simplify usage was added really; just only recently has been noticed due to range information being used more in match.