From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8701 invoked by alias); 24 Mar 2014 23:01:20 -0000 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 Received: (qmail 8625 invoked by uid 48); 24 Mar 2014 23:01:17 -0000 From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/60315] [4.8/4.9 Regression] template constructor switch optimization Date: Mon, 24 Mar 2014 23:01:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 4.8.0 X-Bugzilla-Keywords: compile-time-hog X-Bugzilla-Severity: minor X-Bugzilla-Who: hubicka at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-03/txt/msg02207.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60315 --- Comment #10 from Jan Hubicka --- Actually the problem here seems to be that we soon work out that most of edges are never executed, yet we still inlining them. The metrics are not growing then so we take time to hit the limits. I guess with ability to redirect edges to unreachable, we can kill nodes early. BTW the cache is not really intended to help the updates, it only avoids repeated recomputations. This is not really a dataflow problem - we only walk the inline trees that (modulo bugs) should not grow arbitrarily large because of inlining limits. Not seeing that the switch is controlled by parameters sucks indeed. Will add code going thorugh casts.