re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))
2014-06-25 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/57742 gcc/ * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo after replacing the statement. gcc/testsuite/ * gcc.dg/tree-ssa/calloc-3.c: New file. From-SVN: r211977
This commit is contained in:
parent
cd47dfd0c5
commit
20cb2258ec
|
@ -1,3 +1,9 @@
|
|||
2014-06-25 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
PR tree-optimization/57742
|
||||
* tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
|
||||
after replacing the statement.
|
||||
|
||||
2014-06-25 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/v850/v850.c (GHS_default_section_names): Change to const
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-06-25 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
PR tree-optimization/57742
|
||||
* gcc.dg/tree-ssa/calloc-3.c: New file.
|
||||
|
||||
2014-06-25 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR testsuite/61560
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fdump-tree-optimized" } */
|
||||
|
||||
void*f(){
|
||||
char*p=__builtin_malloc(42);
|
||||
__builtin_memset(p,0,42);
|
||||
__builtin_memset(p,0,42);
|
||||
return p;
|
||||
};
|
||||
|
||||
/* { dg-final { scan-tree-dump-not "malloc" "optimized" } } */
|
||||
/* { dg-final { scan-tree-dump-times "calloc" 1 "optimized" } } */
|
||||
/* { dg-final { scan-tree-dump-not "memset" "optimized" } } */
|
||||
/* { dg-final { cleanup-tree-dump "optimized" } } */
|
|
@ -1653,6 +1653,8 @@ handle_builtin_memset (gimple_stmt_iterator *gsi)
|
|||
gimple_stmt_iterator gsi1 = gsi_for_stmt (stmt1);
|
||||
update_gimple_call (&gsi1, builtin_decl_implicit (BUILT_IN_CALLOC), 2,
|
||||
size, build_one_cst (size_type_node));
|
||||
si1->length = build_int_cst (size_type_node, 0);
|
||||
si1->stmt = gsi_stmt (gsi1);
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue