From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31431 invoked by alias); 24 Jan 2016 21:57:28 -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 31416 invoked by uid 89); 24 Jan 2016 21:57:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=elimination, berndedlingerhotmailde, bernd.edlinger@hotmail.de, Hx-languages-length:1603 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; Sun, 24 Jan 2016 21:57:27 +0000 Received: from HHMAIL01.hh.imgtec.org (unknown [10.100.10.19]) by Websense Email Security Gateway with ESMTPS id 78EF5724FB98D; Sun, 24 Jan 2016 21:57:20 +0000 (GMT) Received: from LEMAIL01.le.imgtec.org (192.168.152.62) by HHMAIL01.hh.imgtec.org (10.100.10.19) with Microsoft SMTP Server (TLS) id 14.3.235.1; Sun, 24 Jan 2016 21:57:24 +0000 Received: from LEMAIL01.le.imgtec.org ([fe80::5ae:ee16:f4b9:cda9]) by LEMAIL01.le.imgtec.org ([fe80::5ae:ee16:f4b9:cda9%17]) with mapi id 14.03.0210.002; Sun, 24 Jan 2016 21:57:23 +0000 From: Matthew Fortune To: Bernd Edlinger CC: "gcc-patches@gcc.gnu.org" , Nick Clifton Subject: RE: [PATCH] Skip re-computing the mips frame info after reload completed Date: Sun, 24 Jan 2016 21:57:00 -0000 Message-ID: <6D39441BF12EF246A7ABCE6654B023536A70509A@LEMAIL01.le.imgtec.org> References: In-Reply-To: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2016-01/txt/msg01838.txt.bz2 Bernd Edlinger writes: > this patch skips the redundant re-computing of the frame info after reloa= d completed. >=20 > I looked at all available targets initial_elimination_offset functions: >=20 > All of them currently use either a trivial function of crtl->outgoing_arg= s_size, > get_frame_size () > and df_regs_ever_live_p (x), that can be expected to be evaluated quickly= and to be > constant, > or they use a cached value, if they are called when reload_completed is t= rue. >=20 Hi Bernd, For the sake of consistency with other targets then this looks fine. I'd both prefer the MIPS backend to be as efficient as other targets and not crash when something like initial elimination offset gets used post reload. Whether it is right or wrong that we end up with these calls post-reload is a different matter but I don't understand the detail enough to comment. > I believe this patch will both be a performance optimization and > guarantee that the frame info can not unexpectedly change when it > should not. I am a bit dubious about this comment as simply not re-computing the frame info is not quite the same as it being consistent with register usage etc. However, we have no check for this right now post-reload so there is no requirement to improve the situation. > I have successfully built a cross-compiler with this patch. > Is it OK for trunk? Has the patch been tested beyond just building GCC? I can do a test run for you if you don't have things set up to do one yourself. Thanks, Matthew