From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25404 invoked by alias); 10 Nov 2002 22:16:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 25389 invoked by uid 71); 10 Nov 2002 22:16:01 -0000 Date: Sun, 10 Nov 2002 14:16:00 -0000 Message-ID: <20021110221601.25388.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Zack Weinberg Subject: Re: c++/1687: Extreme compile time regression from 2.95.2 Reply-To: Zack Weinberg X-SW-Source: 2002-11/txt/msg00498.txt.bz2 List-Id: The following reply was made to PR c++/1687; it has been noted by GNATS. From: Zack Weinberg To: Wolfgang Bangerth Cc: gcc-gnats@gcc.gnu.org, kelley.cook@home.com, gcc-bugs@gcc.gnu.org, pbienst@gcc.gnu.org, Zack Weinberg Subject: Re: c++/1687: Extreme compile time regression from 2.95.2 Date: Sun, 10 Nov 2002 14:14:13 -0800 On Sun, Nov 10, 2002 at 03:51:12PM -0600, Wolfgang Bangerth wrote: > > Zack, > you had a patch for this problem, as mentioned in the audit. Do you know > whether it was applied? I cannot find it in the ChangeLogs. Yes, the patch was applied. It's in cp/ChangeLog: 2001-04-24 Zack Weinberg * cp/optimize.c: Include hashtab.h. (struct inline_data): Add tree_pruner. (expand_call_inline, expand_calls_inline): Use it when calling walk_tree. (optimize_function): Initialize and free tree_pruner. This code is now in tree-inline.c, by the way > However, at -O3 it still takes forever, now with both C and C++, which > seems a further regression (since previously this held only for C++). I > don't trust this for various reasons, so maybe someone can confirm this > with -O3? C being slow is a consequence of its using the tree-based inliner (previously only C++ did). I don't know why -O3 would cause further trouble. You could build cc1plus profiled (make clean in both libiberty and gcc, make all in libiberty with CFLAGS="-g -O2 -profile", make cc1plus in gcc with CFLAGS="-g -O2 -profile"), run it on the test case, and take a look at the gprof output. zw