https://gcc.gnu.org/g:a06058afa6303adcc2cf9eb8f5d028ac53e13e86

commit r16-976-ga06058afa6303adcc2cf9eb8f5d028ac53e13e86
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Mon May 26 18:07:25 2025 -0700

    forwprop: Change test in loop of optimize_memcpy_to_memset
    
    This was noticed in the review of copy propagation for aggregates
    patch, instead of checking for a NULL or a non-ssa name of vuse,
    we should instead check if it the vuse is a default name and stop
    then.
    
    Bootstrapped and tested on x86_64-linux-gnu.
    
    gcc/ChangeLog:
    
            * tree-ssa-forwprop.cc (optimize_memcpy_to_memset): Change check
            from NULL/non-ssa name to default name.
    
    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>

Diff:
---
 gcc/tree-ssa-forwprop.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-ssa-forwprop.cc b/gcc/tree-ssa-forwprop.cc
index 4c048a9a2986..e457a69ed489 100644
--- a/gcc/tree-ssa-forwprop.cc
+++ b/gcc/tree-ssa-forwprop.cc
@@ -1226,7 +1226,8 @@ optimize_memcpy_to_memset (gimple_stmt_iterator *gsip, 
tree dest, tree src, tree
   gimple *defstmt;
   unsigned limit = param_sccvn_max_alias_queries_per_access;
   do {
-    if (vuse == NULL || TREE_CODE (vuse) != SSA_NAME)
+    /* If the vuse is the default definition, then there is no stores 
beforhand. */
+    if (SSA_NAME_IS_DEFAULT_DEF (vuse))
       return false;
     defstmt = SSA_NAME_DEF_STMT (vuse);
     if (is_a <gphi*>(defstmt))

Reply via email to