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 <rguent...@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