]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR tree-optimization/83821 - local aggregate initialization defeats strlen optimization
authormsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Oct 2019 19:24:36 +0000 (19:24 +0000)
committermsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Oct 2019 19:24:36 +0000 (19:24 +0000)
commit7c3dbd220797599172e5982eadce7fcfb860361c
tree4a828418b3d87be6e4b4e53b6d73c3f3ed6e1de5
parentdc92912c150bd473b0b573b03465429ff55f235c
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@277080 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/Warray-bounds-4.c
gcc/testsuite/gcc.dg/strlenopt-82.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-83.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-84.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-85.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-86.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/calloc-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/calloc-5.c [new file with mode: 0644]
gcc/tree-ssa-strlen.c