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))