From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 85671 invoked by alias); 25 Mar 2015 07:11:48 -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 85551 invoked by uid 55); 25 Mar 2015 07:11:44 -0000 From: "hubicka at ucw dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/65478] [5 regression] crafty performance regression Date: Wed, 25 Mar 2015 07:57: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: 5.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal 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: 5.0 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: 2015-03/txt/msg02684.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65478 --- Comment #9 from Jan Hubicka --- > > This suggests that cloning of function Search and not inlining > > NextMove is only part of the story. > > > > I'm attaching output of my script that compares inlining decisions. > "File 1" is wpa inlining dump file generated by r219862, "File 2" is > wpa inlining dump generated by r219863 on source where Search was > annotated as noclone. Thanks. I suppose we need to oprofile resulting binary and see. > > (In reply to Jan Hubicka from comment #7) > > Yep, that sounds like resonable thing to try to me. > > > > OK, I'll prepare a patch for this part. Actually, there is one detail. Cloning SCC and keeping it a SCC is cool thing (as one avoid passing constant parameter across the recursive loop), but clonning function from SCC and keeping all calls within the connected component to go to the original SCC is not cool. It would be nice to make difference between these. Thanks! Honza