re PR target/89188 (ICE in pre_and_rev_post_order_compute, at cfganal.c:1055)
authorJakub Jelinek <jakub@redhat.com>
Tue, 5 Feb 2019 16:21:36 +0000 (17:21 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 5 Feb 2019 16:21:36 +0000 (17:21 +0100)
commitc64775619ecbb1efef27631100082d1e22230a3e
tree3466f750e6949e6838f72b7b735d2b19fba1b1ed
parented99e818e02cd7b0c10c9e8cba7fec8ee17b0ca7
re PR target/89188 (ICE in pre_and_rev_post_order_compute, at cfganal.c:1055)

PR target/89188
* dce.c (delete_unmarked_insns): Don't remove no-op moves if they
can throw, non-call exceptions are enabled and we can't delete
dead exceptions or alter cfg.  Set must_clean if
delete_insn_and_edges returns true, don't set it blindly for calls.
Assert that delete_unreachable_blocks is called only if can_alter_cfg.

* g++.dg/opt/pr89188.C: New test.

From-SVN: r268544
gcc/ChangeLog
gcc/dce.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr89188.C [new file with mode: 0644]