]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS for LRA.
authorVladimir Makarov <vmakarov@redhat.com>
Fri, 20 Dec 2013 14:37:53 +0000 (14:37 +0000)
committerYvan Roux <yroux@gcc.gnu.org>
Fri, 20 Dec 2013 14:37:53 +0000 (14:37 +0000)
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

gcc/ChangeLog
gcc/config/arm/arm.h

index 9de43b154bdc13835802bd919f94fbf18aa5f5b9..bc9f5a3db705d85553ec675e6200216bbf2566de 100644 (file)
@@ -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.
index fb5ce1c19b03eed7b6d791e976a261ceb0bd1a30..288ff8b2fc8e9686b3ae64d891c2a551602d285a 100644 (file)
@@ -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,