From: Richard Earnshaw Date: Fri, 31 Oct 2003 21:42:23 +0000 (+0000) Subject: arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb code. X-Git-Tag: releases/gcc-3.4.0~2571 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fb14bc892cad994c8aa65ea8844f727d22c0c79d;p=thirdparty%2Fgcc.git arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb code. * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb code. From-SVN: r73157 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e253ebe67d4f..4013338221c3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-10-31 Richard Earnshaw + + * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb + code. + 2003-10-31 Andreas Jaeger , Zack Weinberg diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 0cb1562e636f..e73df85e347c 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -959,6 +959,12 @@ extern const char * structure_size_string; fixed_regs[regno] = call_used_regs[regno] = 1; \ } \ \ + /* The link register can be clobbered by any branch insn, \ + but we have no way to track that at present, so mark \ + it as unavailable. */ \ + if (TARGET_THUMB) \ + fixed_regs[LR_REGNUM] = call_used_regs[LR_REGNUM] = 1; \ + \ if (TARGET_CIRRUS) \ { \ for (regno = FIRST_ARM_FP_REGNUM; \