diff options
author | Richard Biener <rguenther@suse.de> | 2023-02-10 10:28:29 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-02-13 08:26:36 +0100 |
commit | 338739645b8e5bf34636d8d4829d7650001ad08c (patch) | |
tree | 8b842ee7e209b12dd3590e13712fdd0aae6d0a8c /gcc/fortran | |
parent | 89367e794613bdeb21df3e6fc0215f0acd553ef8 (diff) | |
download | gcc-338739645b8e5bf34636d8d4829d7650001ad08c.zip gcc-338739645b8e5bf34636d8d4829d7650001ad08c.tar.gz gcc-338739645b8e5bf34636d8d4829d7650001ad08c.tar.bz2 |
tree-optimization/106722 - fix CD-DCE edge marking
The following fixes a latent issue when we mark control edges but
end up with marking a block with no stmts necessary. In this case
we fail to mark dependent control edges of that block.
PR tree-optimization/106722
* tree-ssa-dce.cc (mark_last_stmt_necessary): Return
whether we marked a stmt.
(mark_control_dependent_edges_necessary): When
mark_last_stmt_necessary didn't mark any stmt make sure
to mark its control dependent edges.
(propagate_necessity): Likewise.
* gcc.dg/torture/pr108737.c: New testcase.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions