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.