diff options
author | Richard Biener <rguenther@suse.de> | 2014-02-20 09:00:23 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-02-20 09:00:23 +0000 |
commit | 25fe40b0f2eb747003f2d83831abcc9585bc30e9 (patch) | |
tree | 22180310c1223a20243f3fe395becb7dfd019a54 | |
parent | 1f58214aa2ce73f903a14a55d17ec7ac93f6c385 (diff) | |
download | gcc-25fe40b0f2eb747003f2d83831abcc9585bc30e9.zip gcc-25fe40b0f2eb747003f2d83831abcc9585bc30e9.tar.gz gcc-25fe40b0f2eb747003f2d83831abcc9585bc30e9.tar.bz2 |
re PR middle-end/60221 (gcc -fexceptions generates unnecessary cleanup code)
2014-02-20 Richard Biener <rguenther@suse.de>
PR middle-end/60221
* tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
regions at -O0.
From-SVN: r207937
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-eh.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 24d8e18..a5c8332 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-02-20 Richard Biener <rguenther@suse.de> + + PR middle-end/60221 + * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH + regions at -O0. + 2014-02-20 Jan Hubicka <hubicka@ucw.cz> PR ipa/58555 diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 06941cd..14ed52a 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -4557,11 +4557,12 @@ execute_cleanup_eh_1 (void) remove_unreachable_handlers (); /* Watch out for the region tree vanishing due to all unreachable. */ - if (cfun->eh->region_tree && optimize) + if (cfun->eh->region_tree) { bool changed = false; - changed |= unsplit_all_eh (); + if (optimize) + changed |= unsplit_all_eh (); changed |= cleanup_all_empty_eh (); if (changed) |