From: Chung-Lin Tang Date: Tue, 14 May 2013 12:02:52 +0000 (+0000) Subject: re PR target/42017 (gcc compiling C for ARM has stopped using r14 in leaf functions?) X-Git-Tag: releases/gcc-4.9.0~5907 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2b2612629120fe1a8aaf46d126e5f2631ddc9cf8;p=thirdparty%2Fgcc.git re PR target/42017 (gcc compiling C for ARM has stopped using r14 in leaf functions?) 2013-05-14 Chung-Lin Tang PR target/42017 * config/arm/arm.h (EPILOGUE_USES): Only return true for LR_REGNUM after epilogue_completed. From-SVN: r198879 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 76c74e388ccf..15cafbb86733 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-05-14 Chung-Lin Tang + + PR target/42017 + * config/arm/arm.h (EPILOGUE_USES): Only return true + for LR_REGNUM after epilogue_completed. + 2013-05-14 Joern Rennecke * 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 c47fdf680985..46450b354401 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. */