https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83821
--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> --- Author: msebor Date: Wed Oct 16 19:24:36 2019 New Revision: 277080 URL: https://gcc.gnu.org/viewcvs?rev=277080&root=gcc&view=rev Log: PR tree-optimization/83821 - local aggregate initialization defeats strlen optimization gcc/ChangeLog: PR tree-optimization/83821 * tree-ssa-strlen.c (maybe_invalidate): Add argument. Consider the length of a string when available. (handle_builtin_memset) Add argument. (handle_store, strlen_check_and_optimize_call): Same. (check_and_optimize_stmt): Same. Pass it to callees. gcc/testsuite/ChangeLog: PR tree-optimization/83821 * c-c++-common/Warray-bounds-4.c: Remove XFAIL. * gcc.dg/strlenopt-82.c: New test. * gcc.dg/strlenopt-83.c: Same. * gcc.dg/strlenopt-84.c: Same. * gcc.dg/strlenopt-85.c: Same. * gcc.dg/strlenopt-86.c: Same. * gcc.dg/tree-ssa/calloc-4.c: Same. * gcc.dg/tree-ssa/calloc-5.c: Same. Added: trunk/gcc/testsuite/gcc.dg/strlenopt-82.c trunk/gcc/testsuite/gcc.dg/strlenopt-83.c trunk/gcc/testsuite/gcc.dg/strlenopt-84.c trunk/gcc/testsuite/gcc.dg/strlenopt-85.c trunk/gcc/testsuite/gcc.dg/strlenopt-86.c trunk/gcc/testsuite/gcc.dg/tree-ssa/calloc-4.c trunk/gcc/testsuite/gcc.dg/tree-ssa/calloc-5.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/c-c++-common/Warray-bounds-4.c trunk/gcc/tree-ssa-strlen.c