From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27955 invoked by alias); 10 Apr 2004 14:59:02 -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 27893 invoked by alias); 10 Apr 2004 14:59:01 -0000 Date: Sat, 10 Apr 2004 15:33:00 -0000 Message-ID: <20040410145901.27892.qmail@sources.redhat.com> From: "dnovillo at redhat dot com" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040120183908.13776.kgardas@objectsecurity.com> References: <20040120183908.13776.kgardas@objectsecurity.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/13776] [tree-ssa] Many C++ compile-time regression in 3.5-tree-ssa 040120 X-Bugzilla-Reason: CC X-SW-Source: 2004-04/txt/msg00883.txt.bz2 List-Id: ------- Additional Comments From dnovillo at redhat dot com 2004-04-10 14:58 ------- Subject: Re: [tree-ssa] Many C++ compile-time regression in 3.5-tree-ssa 040120 On Sat, 2004-04-10 at 10:04, rguenth at tat dot physik dot uni-tuebingen dot de wrote: > There aren't that much changes on tree-ssa right now, so I suspect > changes causing the regression be > > 2004-04-07 Diego Novillo > > * gimplify.c (gimplify_call_expr): Remove argument POST_P. > Update all callers. > Don't use POST_P when gimplifying the call expression. > Hmm, odd. This is a correctness fix. Side effects in function call arguments must occur before the actual call takes place. What may be happening here is that we are getting fewer commoning opportunities for call-clobbered variables. Before, foo (a++) would expand to: foo (a); a = a + 1; But now, it expands to: t = a; a = a + 1; foo (t); If 'a' is call-clobbered, the second form will not allow us to common out 'a + 1' because of the clobbering of 'a' by the call to foo. However, it is a bit surprising that this would cause a significant decline in compile time. Would you have a pre-patched cc1plus binary to compare dump files? Thanks. Diego. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13776