https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107372
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Andreas Krebbel from comment #1) > Created attachment 53764 [details] > Experimental Fix > > Looks like the error while analyzing the data ref is not propagated to the > upper layers to actually prevent the optimization. This patch fixes this for > me. But that's on purpose I think. create_data_ref does never "fail", the caller has to check for proper analysis of the DR though. For loop distribution we should FAIL looking at DR_STEP? Ah, for example compute_access_range performs its own analysis so it needs to check for the storage order itself I think or the callers need to match up storage order of source and destination. Your patch leaks memory.