From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49870 invoked by alias); 17 Sep 2015 09:52:46 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 49857 invoked by uid 89); 17 Sep 2015 09:52:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mailapp01.imgtec.com Received: from mailapp01.imgtec.com (HELO mailapp01.imgtec.com) (195.59.15.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 17 Sep 2015 09:52:44 +0000 Received: from KLMAIL01.kl.imgtec.org (unknown [192.168.5.35]) by Websense Email Security Gateway with ESMTPS id D19BAE828478; Thu, 17 Sep 2015 10:52:40 +0100 (IST) Received: from hhmail02.hh.imgtec.org (10.100.10.20) by KLMAIL01.kl.imgtec.org (192.168.5.35) with Microsoft SMTP Server (TLS) id 14.3.195.1; Thu, 17 Sep 2015 10:52:42 +0100 Received: from hhmail02.hh.imgtec.org ([::1]) by hhmail02.hh.imgtec.org ([::1]) with mapi id 14.03.0235.001; Thu, 17 Sep 2015 10:52:41 +0100 From: Simon Dardis To: Jeff Law , Bernd Schmidt CC: "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH] Target hook for disabling the delay slot filler. Date: Thu, 17 Sep 2015 10:15:00 -0000 Message-ID: References: <55F82ADF.2030905@redhat.com> <55F832CF.2010406@redhat.com> In-Reply-To: <55F832CF.2010406@redhat.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2015-09/txt/msg01269.txt.bz2 The profitability of using an ordinary branch over a delay slot branch depends on how the delay slot is filled. If a delay slot can be filled from an instruction preceding the branch or instructions proceeding that must be= =20 executed on both sides then it is profitable to use a delay slot branch. For cases when instructions are chosen from one side of the branch,=20 the proposed optimization strategy is to not speculatively execute=20 instructions when ordinary branches could be used. Performance-wise this avoids executing instructions which the eager delay filler picked wrongly. Since most branches have a compact form disabling the eager delay filler should be no worse than altering it not to fill delay slots in this case. Thanks, Simon -----Original Message----- From: Jeff Law [mailto:law@redhat.com]=20 Sent: 15 September 2015 16:02 To: Bernd Schmidt; Simon Dardis; gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Target hook for disabling the delay slot filler. On 09/15/2015 08:27 AM, Bernd Schmidt wrote: > On 09/15/2015 04:19 PM, Simon Dardis wrote: >> This patch adds a target hook for disabling the eager delay slot=20 >> filler which when disabled can give better code. No new regressions. >> Ok to commit? > > Hmm. Whether a branch was filled by the simple or eager filler is an=20 > implementation detail - is there some better way to describe which=20 > kind of branch is profitable? And more importantly, it's far better to be able to describe when it is not= profitable to use eager filling rather than just disabling it completely. Jeff