From: "Thomas Preud'homme" <thomas.preudhomme@arm.com>
To: "Ramana Radhakrishnan" <Ramana.Radhakrishnan@arm.com>
Cc: "gcc-patches" <gcc-patches@gcc.gnu.org>
Subject: RE: [PATCH, ARM] Fix PR64453: live high register not saved in function prolog with -Os
Date: Fri, 23 Jan 2015 09:32:00 -0000 [thread overview]
Message-ID: <000301d036e5$d0fbadb0$72f30910$@arm.com> (raw)
In-Reply-To: <CAJA7tRbCvWyrB8WUxa71H2wiGDp86Joq-1kRTbrAvqxCgp9okw@mail.gmail.com>
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
> <thomas.preudhomme@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.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?
Best regards,
Thomas
next prev parent reply other threads:[~2015-01-23 8:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 10:38 Thomas Preud'homme
2015-01-14 11:38 ` Ramana Radhakrishnan
2015-01-23 9:32 ` Thomas Preud'homme [this message]
2015-02-17 8:07 ` Ramana Radhakrishnan
2015-03-03 9:35 ` Thomas Preud'homme
2015-03-03 9:44 ` Thomas Preud'homme
2015-03-04 2:09 ` Thomas Preud'homme
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000301d036e5$d0fbadb0$72f30910$@arm.com' \
--to=thomas.preudhomme@arm.com \
--cc=Ramana.Radhakrishnan@arm.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).