https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79929
--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> --- Thanks for the C test case. In it, the warning is a false positive caused by GCC's failure to eliminate the excessive memset at -O1. The call is emitted by the ccp1 pass at all optimization levels. At -O2, it's also removed, looks like by the forward propagation pass that runs just after ccp1, but at -O1 it's never removed.