]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR tree-optimization/91996 - fold non-constant strlen relational expressions
authormsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Oct 2019 17:18:57 +0000 (17:18 +0000)
committermsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Oct 2019 17:18:57 +0000 (17:18 +0000)
commitdc92912c150bd473b0b573b03465429ff55f235c
tree91e41b4bdffd010279c5b4036678d1c8f93a21da
parenta5d067a9077f1461a9b8aaf44920166210513ec1
PR tree-optimization/91996 - fold non-constant strlen relational expressions

gcc/testsuite/ChangeLog:

PR tree-optimization/91996
* gcc.dg/strlenopt-80.c: New test.
* gcc.dg/strlenopt-81.c: New test.

gcc/ChangeLog:

PR tree-optimization/91996
* tree-ssa-strlen.c (maybe_warn_pointless_strcmp): Improve location
information.
(compare_nonzero_chars): Add an overload.
(count_nonzero_bytes): Add an argument.  Call overload above.
Handle non-constant lengths in some range.
(handle_store): Add an argument.
(check_and_optimize_stmt): Pass an argument to handle_store.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@277076 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/strlenopt-80.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-81.c [new file with mode: 0644]
gcc/tree-ssa-strlen.c