gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range rather than set_rang...
commitd4bf69750d31d08068f8242225b8fa06cdf11411
authorMartin Sebor <msebor@redhat.com>
Wed, 2 Jan 2019 21:38:56 +0000 (2 21:38 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 2 Jan 2019 21:38:56 +0000 (2 14:38 -0700)
treebd9ca177fac5106370caa472164a9245fffa7ab5
parentec1faddf89cb8219c426418d7af772655d5ad40e
gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range rather than set_range_info.

* gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
rather than set_range_info.
* tree-ssa-strlen.c (set_strlen_range): Extracted from
maybe_set_strlen_range.  Handle potentially boundary crossing
cases more conservatively.
(maybe_set_strlen_range): Parts refactored into set_strlen_range.
Call set_strlen_range.
* tree-ssa-strlen.h (set_strlen_range): Add prototype.

* gcc.dg/strlenopt-36.c: Update.
* gcc.dg/strlenopt-45.c: Update.
* gcc.c-torture/execute/strlen-5.c: New test.
* gcc.c-torture/execute/strlen-6.c: New test.
* gcc.c-torture/execute/strlen-7.c: New test.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267531
gcc/ChangeLog
gcc/gimple-fold.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/strlen-5.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/strlen-6.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/strlen-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-36.c
gcc/testsuite/gcc.dg/strlenopt-45.c
gcc/tree-ssa-strlen.c
gcc/tree-ssa-strlen.h