[Bug tree-optimization/57742] memset(malloc(n),0,n) -> calloc(n,1)
glisse at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jun 24 18:50:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57742
--- Comment #15 from Marc Glisse <glisse at gcc dot gnu.org> ---
Author: glisse
Date: Tue Jun 24 18:50:00 2014
New Revision: 211956
URL: https://gcc.gnu.org/viewcvs?rev=211956&root=gcc&view=rev
Log:
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.
Added:
trunk/gcc/testsuite/g++.dg/tree-ssa/calloc.C
trunk/gcc/testsuite/gcc.dg/tree-ssa/calloc-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/calloc-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/passes.def
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/strlenopt-9.c
trunk/gcc/tree-ssa-strlen.c
More information about the Gcc-bugs
mailing list