From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21897 invoked by alias); 3 Apr 2007 12:30:22 -0000 Received: (qmail 21338 invoked by uid 48); 3 Apr 2007 12:30:05 -0000 Date: Tue, 03 Apr 2007 12:30:00 -0000 Message-ID: <20070403123005.21337.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-04/txt/msg00199.txt.bz2 ------- 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