From fb14bc892cad994c8aa65ea8844f727d22c0c79d Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Fri, 31 Oct 2003 21:42:23 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e253ebe67d4..4013338221c 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 0cb1562e636..e73df85e347 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; \