]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
forwprop: Add alias walk limit to optimize_memcpy_to_memset.
authorAndrew Pinski <quic_apinski@quicinc.com>
Mon, 21 Apr 2025 20:00:19 +0000 (13:00 -0700)
committerAndrew Pinski <quic_apinski@quicinc.com>
Fri, 16 May 2025 14:36:20 +0000 (07:36 -0700)
As sugguested in https://gcc.gnu.org/pipermail/gcc-patches/2025-April/681507.html,
this adds the aliasing walk limit.

gcc/ChangeLog:

* tree-ssa-forwprop.cc (optimize_memcpy_to_memset): Add a limit on the alias walk.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/tree-ssa-forwprop.cc

index 71de99f46ffe429a00ddf6fe5ab4271c69d27ed0..0f52e8fe6efc6f07b8eb7a1ca7cc61fb4beed104 100644 (file)
@@ -1216,13 +1216,15 @@ optimize_memcpy_to_memset (gimple_stmt_iterator *gsip, tree dest, tree src, tree
   ao_ref_init (&read, src);
   tree vuse = gimple_vuse (stmt);
   gimple *defstmt;
+  unsigned limit = param_sccvn_max_alias_queries_per_access;
   do {
     if (vuse == NULL || TREE_CODE (vuse) != SSA_NAME)
       return false;
     defstmt = SSA_NAME_DEF_STMT (vuse);
     if (is_a <gphi*>(defstmt))
       return false;
-
+    if (limit-- == 0)
+      return false;
     /* If the len was null, then we can use TBBA. */
     if (stmt_may_clobber_ref_p_1 (defstmt, &read,
                                  /* tbaa_p = */ len_was_null))