]> git.ipfire.org Git - thirdparty/gcc.git/commit
forwprop: Move memcpy_to_memset from gimple fold to forwprop
authorAndrew Pinski <quic_apinski@quicinc.com>
Mon, 21 Apr 2025 19:19:49 +0000 (12:19 -0700)
committerAndrew Pinski <quic_apinski@quicinc.com>
Fri, 16 May 2025 14:36:20 +0000 (07:36 -0700)
commitc1cd1889392f0c6bb12a885d14e785d8f3677a1d
treeb28b9ddf135b61569986a5f3f0083377415c8de2
parentd87caa9d3595ca845c9282cef8b0c9a656d8def0
forwprop: Move memcpy_to_memset from gimple fold to forwprop

Since this optimization now walks the vops, it is better to only
do it in forwprop rather than in all the time in fold_stmt.

The next patch will add the limit to the alias walk.

gcc/ChangeLog:

* gimple-fold.cc (optimize_memcpy_to_memset): Move to
tree-ssa-forwprop.cc.
(gimple_fold_builtin_memory_op): Remove call to
optimize_memcpy_to_memset.
(fold_stmt_1): Likewise.
* tree-ssa-forwprop.cc (optimize_memcpy_to_memset): Move from
gimple-fold.cc.
(simplify_builtin_call): Try to optimize memcpy/memset.
(pass_forwprop::execute): Try to optimize memcpy like assignment
from a previous memset.

gcc/testsuite/ChangeLog:

* gcc.dg/pr78408-1.c: Update scan to forwprop1 only.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/gimple-fold.cc
gcc/testsuite/gcc.dg/pr78408-1.c
gcc/tree-ssa-forwprop.cc