From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12728 invoked by alias); 28 Jun 2012 10:08:41 -0000 Received: (qmail 12691 invoked by uid 22791); 28 Jun 2012 10:08:40 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED 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; Thu, 28 Jun 2012 10:08:27 +0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/53787] Possible IPA-SRA / IPA-CP improvement Date: Thu, 28 Jun 2012 10:08:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: WAITING X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Keywords CC Component Summary 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-06/txt/msg01863.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53787 Richard Guenther changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization CC| |jamborm at gcc dot gnu.org Component|lto |tree-optimization Summary|Possible lto improvement |Possible IPA-SRA / IPA-CP | |improvement --- Comment #6 from Richard Guenther 2012-06-28 10:08:13 UTC --- This has nothing to do with LTO - with a single compilation unit you can use -fwhole-program. The issue is that Fortran passes parameters by reference and our interprocedural constant-propagation pass does not know how to deal with that. The IPA SRA pass which is supposed to "fix" that decides that init cannot have its signature changed. Martin, can you check why? I think we ought to optimize this with -O3 -fwhole-program -fno-inline.