diff options
author | Chung-Lin Tang <cltang@codesourcery.com> | 2013-05-14 12:02:52 +0000 |
---|---|---|
committer | Chung-Lin Tang <cltang@gcc.gnu.org> | 2013-05-14 12:02:52 +0000 |
commit | 2b2612629120fe1a8aaf46d126e5f2631ddc9cf8 (patch) | |
tree | 2cb29ada69532f858145a3468885f4618f35779e /gcc | |
parent | 6e022d7b0ba450c308d11c87581a3f6a1f88de21 (diff) | |
download | gcc-2b2612629120fe1a8aaf46d126e5f2631ddc9cf8.zip gcc-2b2612629120fe1a8aaf46d126e5f2631ddc9cf8.tar.gz gcc-2b2612629120fe1a8aaf46d126e5f2631ddc9cf8.tar.bz2 |
re PR target/42017 (gcc compiling C for ARM has stopped using r14 in leaf functions?)
2013-05-14 Chung-Lin Tang <cltang@codesourcery.com>
PR target/42017
* config/arm/arm.h (EPILOGUE_USES): Only return true
for LR_REGNUM after epilogue_completed.
From-SVN: r198879
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 76c74e3..15cafbb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-05-14 Chung-Lin Tang <cltang@codesourcery.com> + + PR target/42017 + * config/arm/arm.h (EPILOGUE_USES): Only return true + for LR_REGNUM after epilogue_completed. + 2013-05-14 Joern Rennecke <joern.rennecke@embecosm.com> * config/avr/avr.c (avr_encode_section_info): Bail out if the type diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index c47fdf6..46450b3 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1651,7 +1651,7 @@ typedef struct frame. */ #define EXIT_IGNORE_STACK 1 -#define EPILOGUE_USES(REGNO) ((REGNO) == LR_REGNUM) +#define EPILOGUE_USES(REGNO) (epilogue_completed && (REGNO) == LR_REGNUM) /* Determine if the epilogue should be output as RTL. You should override this if you define FUNCTION_EXTRA_EPILOGUE. */ |