]> git.ipfire.org Git - thirdparty/gcc.git/commit
gimple-fold: Improve optimize_memcpy_to_memset to handle STRING_CST [PR78408]
authorAndrew Pinski <quic_apinski@quicinc.com>
Fri, 21 Feb 2025 00:09:05 +0000 (16:09 -0800)
committerAndrew Pinski <quic_apinski@quicinc.com>
Fri, 18 Apr 2025 16:13:04 +0000 (09:13 -0700)
commit94f275432f7ea4781ec7c05fa9d1d81ef6cb3fc1
tree76c708a854f92db998702fa81c15e516c6985360
parentbaf6ad5dad55a7aa1e75d4ccadc05347b4506a1f
gimple-fold: Improve optimize_memcpy_to_memset to handle STRING_CST [PR78408]

While looking into PR 118947, I noticed that optimize_memcpy_to_memset didn't
handle STRING_CST which are also used for a memset of 0 but for char arrays.
This fixes that and improves optimize_memcpy_to_memset to handle that case.

This fixes part of PR 118947 but not the whole thing; we still need to skip over
vdefs in some cases.

Boostrapped and tested on x86_64-linux-gnu.

PR tree-optimization/78408
PR tree-optimization/118947

gcc/ChangeLog:

* gimple-fold.cc (optimize_memcpy_to_memset): Handle STRING_CST case too.

gcc/testsuite/ChangeLog:

* gcc.dg/pr78408-3.c: New test.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/gimple-fold.cc
gcc/testsuite/gcc.dg/pr78408-3.c [new file with mode: 0644]