From: Vladimir Makarov Date: Fri, 20 Dec 2013 14:37:53 +0000 (+0000) Subject: arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS for LRA. X-Git-Tag: releases/gcc-4.9.0~1956 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1fc017b632c79110bfd8db534e76b81318cb7530;p=thirdparty%2Fgcc.git arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS for LRA. 2013-12-20 Vladimir Makarov * config/arm/arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS for LRA. From-SVN: r206150 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9de43b154bdc..bc9f5a3db705 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-20 Vladimir Makarov + + * config/arm/arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS + for LRA. + 2013-12-20 Kyrylo Tkachov * config/arm/arm_acle.h: Add underscores before variables. diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index fb5ce1c19b03..288ff8b2fc8e 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,