From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23428 invoked by alias); 15 May 2012 15:57:50 -0000 Received: (qmail 23414 invoked by uid 22791); 15 May 2012 15:57:49 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED,TW_NL X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 15 May 2012 15:57:31 +0000 From: "hubicka at ucw dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/32911] Function __attribute__ ((idempotent)) Date: Tue, 15 May 2012 16:00:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: hubicka at ucw dot cz X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-05/txt/msg01553.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32911 --- Comment #3 from Jan Hubicka 2012-05-15 15:57:29 UTC --- Note that I was thinking of similar attribute for C++ iostream initialization code. Currently every unit including iostream gets a call to the iostream constructor. With LTO we merge the constructors together and get _alot_ of redundant calls to the construction code. Declaring that only first call is needed would save some (quite minor) startup overehead. (overhead of iostream startup is large, but after inlning all together it boils down to cca 7000 redundant calls in Mozilla startup that executes quite quickly)