From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19505 invoked by alias); 27 Sep 2004 19:25:08 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 19481 invoked by alias); 27 Sep 2004 19:25:08 -0000 Date: Mon, 27 Sep 2004 19:25:00 -0000 Message-ID: <20040927192508.19480.qmail@sourceware.org> From: "sebastian dot pop at cri dot ensmp dot fr" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040916142728.17520.arend.bayer@web.de> References: <20040916142728.17520.arend.bayer@web.de> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/17520] [4.0 regression] Huge compile time for C code X-Bugzilla-Reason: CC X-SW-Source: 2004-09/txt/msg03363.txt.bz2 List-Id: ------- Additional Comments From sebastian dot pop at cri dot ensmp dot fr 2004-09-27 19:25 ------- Subject: Re: [regression] Huge compile time for C code I'm testing the following patch for speeding up the analyzer when there are numerous branches. In gdb the time consumed by the analyzer dropped down by some significant amount of time. I will post tomorow a proper patch if tests pass. *** tree-scalar-evolution.c.~2.7.~ Fri Sep 17 11:14:09 2004 --- tree-scalar-evolution.c Mon Sep 27 21:07:55 2004 *************** follow_ssa_edge_in_condition_phi (struct *** 1398,1403 **** --- 1398,1407 ---- for (i = 1; i < PHI_NUM_ARGS (condition_phi); i++) { + /* Quickly give up when one of the branches is not known. */ + if (*evolution_of_loop == chrec_dont_know) + return true; + if (!follow_ssa_edge_in_condition_phi_branch (i, loop, condition_phi, halting_phi, &evolution_of_branch, -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17520