2014-06-24 Marc Glisse <marc.glisse@inria.fr>
commit9f15ed6e5c148ded6e7942e75595d91151792c9b
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jun 2014 18:50:00 +0000 (24 18:50 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jun 2014 18:50:00 +0000 (24 18:50 +0000)
tree81ba342aeb4db1f2fe70e25917fc6972499cd2d2
parentb507a4293e4812063de5043d5bc2f17e1a7c0de8
2014-06-24  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/57742
gcc/
* tree-ssa-strlen.c (get_string_length): Ignore malloc.
(handle_builtin_malloc, handle_builtin_memset): New functions.
(strlen_optimize_stmt): Call them.
* passes.def: Move strlen after loop+dom but before vrp.
gcc/testsuite/
* g++.dg/tree-ssa/calloc.C: New testcase.
* gcc.dg/tree-ssa/calloc-1.c: Likewise.
* gcc.dg/tree-ssa/calloc-2.c: Likewise.
* gcc.dg/strlenopt-9.c: Adapt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211956 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/calloc.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-9.c
gcc/testsuite/gcc.dg/tree-ssa/calloc-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/calloc-2.c [new file with mode: 0644]
gcc/tree-ssa-strlen.c