diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-06-29 10:47:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-06-29 10:47:46 +0200 |
commit | 5f3cd7c3f31373789dbc8360fa3d46fcaf473f99 (patch) | |
tree | aa9612115c416b5ff9f86c284f36e28909c53190 /gcc/tree-ssa-loop-im.c | |
parent | 36d0d9be5585ccc0ea8a44e6d4e93d8d0f7f53a0 (diff) | |
download | gcc-5f3cd7c3f31373789dbc8360fa3d46fcaf473f99.zip gcc-5f3cd7c3f31373789dbc8360fa3d46fcaf473f99.tar.gz gcc-5f3cd7c3f31373789dbc8360fa3d46fcaf473f99.tar.bz2 |
re PR tree-optimization/71625 (missing strlen optimization on different array initialization style)
PR tree-optimization/71625
* tree-ssa-strlen.c (get_addr_stridx): Add PTR argument. Assume list
is sorted by ascending list->offset. If PTR is non-NULL and there is
previous strinfo, call get_stridx_plus_constant.
(get_stridx): Pass exp as second argument to get_addr_stridx.
(addr_stridxptr): Add missing list = list->next, so that there can be
more than one entries in the list. Bump limit from 16 to 32. Ensure
the list is sorted by ascending list->offset.
(get_stridx_plus_constant): Adjust so that it can be also called with
ADDR_EXPR instead of SSA_NAME as PTR.
(handle_char_store): Pass NULL_TREE as second argument to
get_addr_stridx.
* gcc.dg/strlenopt-28.c: New test.
From-SVN: r237841
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
0 files changed, 0 insertions, 0 deletions