[Bug tree-optimization/19831] Missing DSE/malloc/free optimization
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 8 13:05:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19831
--- Comment #10 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-08 13:00:32 UTC ---
Author: rguenth
Date: Thu Sep 8 13:00:23 2011
New Revision: 178687
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178687
Log:
2011-09-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/19831
* tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Also
skip builtins with vdefs that do not really store something.
(propagate_necessity): For calls to free that we can associate
with an allocation function do not mark the freed pointer
definition necessary.
(eliminate_unnecessary_stmts): Remove a call to free if
the associated call to an allocation function is not necessary.
* gcc.dg/tree-ssa/pr19831-1.c: New testcase.
* gcc.dg/tree-ssa/pr19831-2.c: Likewise.
* gcc.dg/tree-ssa/pr19831-3.c: Likewise.
* gcc.dg/errno-1.c: Adjust.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr19831-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr19831-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr19831-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/errno-1.c
trunk/gcc/tree-ssa-dce.c
More information about the Gcc-bugs
mailing list