From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25721 invoked by alias); 24 Mar 2014 23:35:28 -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 25658 invoked by uid 48); 24 Mar 2014 23:35:24 -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:35: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: attachments.created 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/msg02209.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60315 --- Comment #11 from Jan Hubicka --- Created attachment 32439 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32439&action=edit Patch I am testing this patch implements the trick of redirecting call edges to UNREACHABLE. It solves the compile time issues quite well. I wonder why I did not get this idea previously - basically it was always on the TODO list to remove edges corresponding to provably unreachable code, but for that we need bit more support because the known to be dead calls needs to be recorded for verifier and inline-transform machinery. Calls to UNREACHABLE does as well as special purpose markers without needs for changess across the cgraph code.