https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103277
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:8f9f5101d52fec12f0f18dfaf746d18cf1f230d0 commit r12-5364-g8f9f5101d52fec12f0f18dfaf746d18cf1f230d0 Author: Richard Biener <rguent...@suse.de> Date: Thu Nov 18 09:07:22 2021 +0100 tree-optimization/103277 - do abnormal cleanup after call DSE We can now DSE calls in more cases which requires us to eventually purge dead abnormal edges. This implements this. 2021-11-18 Richard Biener <rguent...@suse.de> PR tree-optimization/103277 * tree-ssa-dse.c (need_ab_cleanup): New. (dse_optimize_redundant_stores): Adjust. (delete_dead_or_redundant_assignment): Get extra need_ab_cleanup argument and set when abnormal cleanup is needed. (dse_optimize_call): Adjust. (dse_optimize_stmt): Likewise. (pass_dse::execute): Allocate and deallocate need_ab_cleanup. Perform abnormal cleanup. * tree-ssa-dse.h (delete_dead_or_redundant_assignment): Adjust. * gcc.dg/pr103277.c: New testcase.