------- Comment #4 from rguenth at gcc dot gnu dot org  2007-04-03 13:30 -------
The easiest thing is probably to ignore abnormal edges:

Index: var-tracking.c
===================================================================
*** var-tracking.c      (revision 123450)
--- var-tracking.c      (working copy)
*************** vt_find_locations (void)
*** 1855,1861 ****
              dataflow_set_clear (&VTI (bb)->in);
              FOR_EACH_EDGE (e, ei, bb->preds)
                {
!                 dataflow_set_union (&VTI (bb)->in, &VTI (e->src)->out);
                }

              changed = compute_bb_dataflow (bb);
--- 1855,1862 ----
              dataflow_set_clear (&VTI (bb)->in);
              FOR_EACH_EDGE (e, ei, bb->preds)
                {
!                 if (!(e->flags & EDGE_ABNORMAL))
!                   dataflow_set_union (&VTI (bb)->in, &VTI (e->src)->out);
                }

              changed = compute_bb_dataflow (bb);


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31412

Reply via email to