https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108552

--- Comment #24 from Richard Biener <rguenth at gcc dot gnu.org> ---
Does

diff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc
index 0dd47910f97..f780c0ce08c 100644
--- a/gcc/tree-ssa-loop-ivopts.cc
+++ b/gcc/tree-ssa-loop-ivopts.cc
@@ -2241,7 +2241,7 @@ may_be_nonaddressable_p (tree expr)
     {
     case VAR_DECL:
       /* Check if it's a register variable.  */
-      return DECL_HARD_REGISTER (expr);
+      return DECL_HARD_REGISTER (expr) || DECL_NONALIASED (expr);

     case TARGET_MEM_REF:
       /* TARGET_MEM_REFs are translated directly to valid MEMs on the

fix it?

Reply via email to