> It's apparently another bug in the DCE pass.  

But it comes from a stalled ABNORMAL flag after the FRE3 pass so:

Index: tree-ssa-pre.c
===================================================================
--- tree-ssa-pre.c      (revision 231856)
+++ tree-ssa-pre.c      (working copy)
@@ -4128,6 +4128,14 @@ eliminate_dom_walker::before_dom_childre
                      print_gimple_stmt (dump_file, stmt, 0, 0);
                    }
 
+                 if (is_gimple_call (stmt)
+                     && stmt_can_make_abnormal_goto (stmt))
+                   {
+                     bitmap_set_bit (need_ab_cleanup, gimple_bb (stmt)-
>index);
+                     if (dump_file && (dump_flags & TDF_DETAILS))
+                       fprintf (dump_file, "  Removed AB side-effects.\n");
+                   }
+
                  pre_stats.eliminations++;
                  continue;
                }

is apparently sufficient.  Testing...

-- 
Eric Botcazou

Reply via email to