diff options
author | Martin Liska <mliska@suse.cz> | 2019-02-14 12:30:58 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-02-14 11:30:58 +0000 |
commit | 696c5b27c524cf65c6b06e93e62f047faad40a78 (patch) | |
tree | 025cb0cd849aa9f62b7fc8bd4f825d4c9de60fa0 | |
parent | 133342f061ca8d9746484db81ddbb7e493618209 (diff) | |
download | gcc-696c5b27c524cf65c6b06e93e62f047faad40a78.zip gcc-696c5b27c524cf65c6b06e93e62f047faad40a78.tar.gz gcc-696c5b27c524cf65c6b06e93e62f047faad40a78.tar.bz2 |
Call free_dominance_info when transformed in DCE (PR rtl-optimization/89242).
2019-02-14 Martin Liska <mliska@suse.cz>
PR rtl-optimization/89242
* dce.c (delete_unmarked_insns): Call free_dominance_info we
process a transformation.
2019-02-14 Martin Liska <mliska@suse.cz>
PR rtl-optimization/89242
* g++.dg/pr89242.C: New test.
From-SVN: r268873
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dce.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/pr89242.C | 15 |
4 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c800ee1..fd554df 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-02-14 Martin Liska <mliska@suse.cz> + + PR rtl-optimization/89242 + * dce.c (delete_unmarked_insns): Call free_dominance_info we + process a transformation. + 2019-02-14 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/89314 @@ -652,6 +652,7 @@ delete_unmarked_insns (void) { gcc_assert (can_alter_cfg); delete_unreachable_blocks (); + free_dominance_info (CDI_DOMINATORS); } } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7c2b71b..def998a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-02-14 Martin Liska <mliska@suse.cz> + + PR rtl-optimization/89242 + * g++.dg/pr89242.C: New test. + 2019-02-14 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/89314 diff --git a/gcc/testsuite/g++.dg/pr89242.C b/gcc/testsuite/g++.dg/pr89242.C new file mode 100644 index 0000000..a702fef --- /dev/null +++ b/gcc/testsuite/g++.dg/pr89242.C @@ -0,0 +1,15 @@ +// { dg-do compile } +// { dg-options "-fno-rerun-cse-after-loop -ftrapv -fno-tree-loop-optimize -fdelete-dead-exceptions -fno-forward-propagate -fnon-call-exceptions -O2" } + +void bar (int n, char *p) +{ + try + { + n++; + for (int i = 0; i < n - 1; i++) + p[i]; + } + catch (...) + {} +} + |