From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57995 invoked by alias); 3 Mar 2015 09:44:43 -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 57985 invoked by uid 89); 3 Mar 2015 09:44:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 03 Mar 2015 09:44:41 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by service87.mimecast.com; Tue, 03 Mar 2015 09:44:38 +0000 Received: from SHAWIN202 ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 3 Mar 2015 09:44:36 +0000 From: "Thomas Preud'homme" To: "Thomas Preud'homme" , "Ramana Radhakrishnan" Cc: "gcc-patches" , "Richard Biener" , "Jakub Jelinek" References: <000001d02fe3$c12d7d90$438878b0$@arm.com> <000301d036e5$d0fbadb0$72f30910$@arm.com> <000101d05595$57e52ef0$07af8cd0$@arm.com> In-Reply-To: <000101d05595$57e52ef0$07af8cd0$@arm.com> Subject: RE: [PATCH, ARM] Fix PR64453: live high register not saved in function prolog with -Os Date: Tue, 03 Mar 2015 09:44:00 -0000 Message-ID: <000201d05596$a58f4630$f0add290$@arm.com> MIME-Version: 1.0 X-MC-Unique: 115030309443802201 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2015-03/txt/msg00125.txt.bz2 And I forgot to update the date in the rush so I committed the fix as obvious: diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ed8ca31..809f5cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,4 @@ -2015-01-23 Thomas Preud'homme +2015-03-03 Thomas Preud'homme =20 Backport from mainline 2015-01-14 Thomas Preud'homme diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 40b2ac5..bb5d545 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,4 @@ -2015-01-23 Thomas Preud'homme +2015-03-03 Thomas Preud'homme =20 Backport from mainline 2015-01-14 Thomas Preud'homme Sorry for the mistake. Best regards, Thomas > -----Original Message----- > From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches- > owner@gcc.gnu.org] On Behalf Of Thomas Preud'homme > Sent: Tuesday, March 03, 2015 5:35 PM > To: Ramana Radhakrishnan > Cc: gcc-patches; Richard Biener; Jakub Jelinek > Subject: RE: [PATCH, ARM] Fix PR64453: live high register not saved in > function prolog with -Os >=20 > Just committed to 4.9 branch, 4.8 to follow once regression testsuite for > 4.8 backport finishes running (backport was done quite some time ago > now). >=20 > Best regards, >=20 > Thomas >=20 > > -----Original Message----- > > From: Ramana Radhakrishnan [mailto:ramana.gcc@googlemail.com] > > Sent: Tuesday, February 17, 2015 4:07 PM > > To: Thomas Preud'homme > > Cc: Ramana Radhakrishnan; gcc-patches; Richard Biener; Jakub Jelinek > > Subject: Re: [PATCH, ARM] Fix PR64453: live high register not saved in > > function prolog with -Os > > > > On Fri, Jan 23, 2015 at 8:23 AM, Thomas Preud'homme > > wrote: > > > Hi Ramana, > > > > > >> From: Ramana Radhakrishnan [mailto:ramana.gcc@googlemail.com] > > >> Sent: Wednesday, January 14, 2015 7:21 PM > > >> On Wed, Jan 14, 2015 at 10:20 AM, Thomas Preud'homme > > >> wrote: > > >> > When compiling for size, live high registers are not saved in > function > > >> prolog in ARM backend in Thumb mode. The problem comes from > > >> arm_conditional_register_usage setting call_used_regs for all high > > >> register to avoid them being allocated. However, this cause prolog > to > > not > > >> save these register even if they are used. This patch marks high > > registers > > >> as really needing to be saved in prolog if live, no matter what is t= he > > >> content of call_used_regs. > > >> > > > >> > ChangeLog entries are as follows: > > >> > > > >> > gcc/ChangeLog > > >> > > > >> > 2015-01-12 Thomas Preud'homme > thomas.preudhomme@arm.com > > >> > > > >> > PR target/64453 > > >> > * config/arm/arm.c (callee_saved_reg_p): Define. > > >> > (arm_compute_save_reg0_reg12_mask): Use > > callee_saved_reg_p > > >> to check if > > >> > register is callee saved instead of !call_used_regs[reg]. > > >> > (thumb1_compute_save_reg_mask): Likewise. > > >> > > > >> > > > >> > gcc/testsuite/ChangeLog > > >> > > > >> > 2014-12-31 Thomas Preud'homme > thomas.preudhomme@arm.com > > >> > > > >> > * gcc.target/arm/pr64453.c: New. > > >> > > > >> > > > >> > > > >> > > >> OK. > > >> > > >> Ramana > > > > > > The patch applies cleanly on GCC 4.8 and 4.9 branches when omitting > > the cosmetic change > > > in arm_conditional_register_usage () which was unintended. I > > compiled an arm-none-eabi > > > GCC cross compiler and ran the testsuite for both backport without > any > > regression. > > > > > > Is this ok for the 4.8 and 4.9 branches? > > > > > > > OK for the branches if no RM objects in 24 hours. > > > > Ramana > > > > > Best regards, > > > > > > Thomas > > > > > > > > > >=20 >=20 >=20 >=20