diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2003-10-31 21:42:23 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2003-10-31 21:42:23 +0000 |
commit | fb14bc892cad994c8aa65ea8844f727d22c0c79d (patch) | |
tree | 6130e9281878fd0a448ead8d772bc36ced99a4e5 | |
parent | a30794da5120a57b548210f7d72056ee12d8eb57 (diff) | |
download | gcc-fb14bc892cad994c8aa65ea8844f727d22c0c79d.zip gcc-fb14bc892cad994c8aa65ea8844f727d22c0c79d.tar.gz gcc-fb14bc892cad994c8aa65ea8844f727d22c0c79d.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e253ebe..4013338 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-10-31 Richard Earnshaw <rearnsha@arm.com> + + * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb + code. + 2003-10-31 Andreas Jaeger <aj@suse.de>, Zack Weinberg <zack@codesourcery.com> diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 0cb1562..e73df85 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; \ |