https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77745
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- I think the issue is with Deleted redundant store MEM[(long int *)c2_7(D)] = 200; It is considered as redundant with MEM[(long long int *)c2_7(D)] = 200; but they do not define the same dynamic type, so it seems that we cannot remove this store. In this case we could remove the other one, but of course that's harder in general.