Predictive commoning fails to preserve alias info for the refs it creates. The following adds this to see whether it fixes the observed regression in 436.cactusADM after r15-7665.
Bootstrapped and tested on x86_64-unknown-linux-gnu, will push later. PR tree-optimization/119044 * tree-predcom.cc (ref_at_iteration): Copy alias info from the original ref. --- gcc/tree-predcom.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/tree-predcom.cc b/gcc/tree-predcom.cc index d45aa3857b9..509d112a0a0 100644 --- a/gcc/tree-predcom.cc +++ b/gcc/tree-predcom.cc @@ -234,6 +234,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-affine.h" #include "builtins.h" #include "opts.h" +#include "tree-ssa-address.h" /* The maximum number of iterations between the considered memory references. */ @@ -1824,6 +1825,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; -- 2.43.0