------- 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