aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-06-29 10:47:46 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-06-29 10:47:46 +0200
commit5f3cd7c3f31373789dbc8360fa3d46fcaf473f99 (patch)
treeaa9612115c416b5ff9f86c284f36e28909c53190 /gcc/tree-ssa-loop-im.c
parent36d0d9be5585ccc0ea8a44e6d4e93d8d0f7f53a0 (diff)
downloadgcc-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