https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119044
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Last reconfirmed| |2025-02-27 Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Note this was a correctness fix, there isn't much we can do here apart from generally trying to preserve alias info better. That would be diff --git a/gcc/tree-predcom.cc b/gcc/tree-predcom.cc index d45aa3857b9..de4a5928d65 100644 --- a/gcc/tree-predcom.cc +++ b/gcc/tree-predcom.cc @@ -1824,6 +1824,7 @@ ref_at_iteration (data_reference_p dr, int iter, tree type = build_aligned_type (TREE_TYPE (ref), get_object_alignment (ref)); ref = build2 (MEM_REF, type, addr, alias_ptr); + copy_ref_info (ref, DR_REF (dr)); if (ref_type) ref = build3 (ref_code, ref_type, ref, ref_op1, ref_op2); return ref; I can test this.