summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorcltang <cltang@138bc75d-0d04-0410-961f-82ee72b054a4>2013-05-14 12:02:52 +0000
committercltang <cltang@138bc75d-0d04-0410-961f-82ee72b054a4>2013-05-14 12:02:52 +0000
commit8d42bec146cfd1cc94ff7e91d5ff796947605f59 (patch)
tree2cb29ada69532f858145a3468885f4618f35779e /gcc
parentb8f9423df6509b33a09945d23ce76a6e72c86ecf (diff)
downloadgcc-8d42bec146cfd1cc94ff7e91d5ff796947605f59.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198879 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 76c74e388cc..15cafbb8673 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 c47fdf68098..46450b35440 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. */