From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2849 invoked by alias); 14 Dec 2011 12:51:22 -0000 Received: (qmail 2836 invoked by uid 22791); 14 Dec 2011 12:51:21 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 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; Wed, 14 Dec 2011 12:51:08 +0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/51497] [4.7 Regression] The run time for the polyhedron test nf.f90 is ~10% slower with -flto after revision 182107 Date: Wed, 14 Dec 2011 13:06:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.7.0 X-Bugzilla-Changed-Fields: Status AssignedTo 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: 2011-12/txt/msg01500.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51497 Richard Guenther changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #7 from Richard Guenther 2011-12-14 12:50:52 UTC --- Created attachment 26080 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26080 patch candidate Ok, so the reason is that we now stream the VLA types for, for example 'x', locally. Thus they do not go through the type merging machinery (no problem) - but they also do not get a TYPE_CANONICAL computed, which would not be bad either would it be itself, but it is NULL_TREE and thus references to such VLA arrays get alias-set zero. The function local LTO sections are not structured in a way we can arrange to call uniquify_nodes, but we should be able to fixup canonical types (and variant types).