diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2013-12-20 14:37:53 +0000 |
---|---|---|
committer | Yvan Roux <yroux@gcc.gnu.org> | 2013-12-20 14:37:53 +0000 |
commit | 1fc017b632c79110bfd8db534e76b81318cb7530 (patch) | |
tree | 425119c0f8eed60c89cd49a9bbdfc6ffed783023 /gcc | |
parent | 706f749ad8c243cf349169296b8d501348ecb70d (diff) | |
download | gcc-1fc017b632c79110bfd8db534e76b81318cb7530.zip gcc-1fc017b632c79110bfd8db534e76b81318cb7530.tar.gz gcc-1fc017b632c79110bfd8db534e76b81318cb7530.tar.bz2 |
arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS for LRA.
2013-12-20 Vladimir Makarov <vmakarov@redhat.com>
* config/arm/arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS
for LRA.
From-SVN: r206150
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9de43b1..bc9f5a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-20 Vladimir Makarov <vmakarov@redhat.com> + + * config/arm/arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS + for LRA. + 2013-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm_acle.h: Add underscores before variables. diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index fb5ce1c..288ff8b 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1296,11 +1296,12 @@ enum reg_class : NO_REGS)) #define THUMB_SECONDARY_OUTPUT_RELOAD_CLASS(CLASS, MODE, X) \ - ((CLASS) != LO_REGS && (CLASS) != BASE_REGS \ - ? ((true_regnum (X) == -1 ? LO_REGS \ - : (true_regnum (X) + HARD_REGNO_NREGS (0, MODE) > 8) ? LO_REGS \ - : NO_REGS)) \ - : NO_REGS) + (lra_in_progress ? NO_REGS \ + : (CLASS) != LO_REGS && (CLASS) != BASE_REGS \ + ? ((true_regnum (X) == -1 ? LO_REGS \ + : (true_regnum (X) + HARD_REGNO_NREGS (0, MODE) > 8) ? LO_REGS \ + : NO_REGS)) \ + : NO_REGS) /* Return the register class of a scratch register needed to copy IN into or out of a register in CLASS in MODE. If it can be done directly, |