http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60221
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note that we do run ehcleanup2 at -O0, but we have EH unsplitting and empty
EH removal disabled if not optimizing.
So we could simply do
Index: tree-eh.c
===================================================================
--- tree-eh.c (revision 207837)
+++ tree-eh.c (working copy)
@@ -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)
Testing that.