https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78812
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jeffrey A. Law from comment #10) > Since that's not a MEM_P, the expression isn't removed from antic/transp > which makes it subject to hoisting across the abnormal edge. > > This could be easily fixed by walking into the ZERO/SIGN_EXTEND rtx, but > there may be other places where an embedded MEM might appear (hell, on a > cisc machine it would be just about anywhere). So I want to do a bit of > auditing of gcse.c. Can't you just use contains_mem_rtx_p (move it from ifcvt.c to rtlanal.c and export)?