https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90883
--- Comment #9 from Jeffrey A. Law <law at gcc dot gnu.org> --- Author: law Date: Wed Jun 26 21:36:27 2019 New Revision: 272717 URL: https://gcc.gnu.org/viewcvs?rev=272717&root=gcc&view=rev Log: PR tree-optimization/90883 * tree-ssa-alias.c (stmt_kills_ref_p): Handle BUILT_IN_CALLOC. * tree-ssa-dse.c: Update various comments to distinguish between dead and redundant stores. (initialize_ao_ref_for_dse): Handle BUILT_IN_CALLOC. (dse_optimize_redundant_stores): New function. (delete_dead_or_redundant_call): Renamed from delete_dead_call. Distinguish between dead and redundant calls in dump output. All callers updated. (delete_dead_or_redundant_assignment): Similarly for assignments. (dse_optimize_stmt): Handle _CHK variants. For statements which store 0 into multiple memory locations, try to prove a subsequent store is redundant. PR tree-optimization/90883 * g++.dg/tree-ssa/pr90883.C: New test. * gcc.dg/tree-ssa/ssa-dse-36.c: New test. Added: trunk/gcc/testsuite/g++.dg/tree-ssa/pr90883.C trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-36.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-alias.c trunk/gcc/tree-ssa-dse.c