Ping? > -----Original Message----- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme > Sent: Friday, January 23, 2015 4:23 PM > To: Ramana Radhakrishnan > Cc: gcc-patches > Subject: RE: [PATCH, ARM] Fix PR64453: live high register not saved in > function prolog with -Os > > Hi Ramana, > > > From: Ramana Radhakrishnan [mailto:ramana....@googlemail.com] > > Sent: Wednesday, January 14, 2015 7:21 PM > > On Wed, Jan 14, 2015 at 10:20 AM, Thomas Preud'homme > > <thomas.preudho...@arm.com> 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 the > > content of call_used_regs. > > > > > > ChangeLog entries are as follows: > > > > > > gcc/ChangeLog > > > > > > 2015-01-12 Thomas Preud'homme thomas.preudho...@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.preudho...@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? > > Best regards, > > Thomas > > >