summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStuart Henderson <shenders@gcc.gnu.org>2011-05-04 11:03:00 +0000
committerStuart Henderson <shenders@gcc.gnu.org>2011-05-04 11:03:00 +0000
commit991eb6effea6272dcacd6ab1b79eb5ffc7ed8bc2 (patch)
treea5dacd7729cc5b560cc9737a4b5def2bd08b75d5 /gcc
parent420ccc84ea380688ba0810c98a9445a041ada471 (diff)
downloadgcc-991eb6effea6272dcacd6ab1b79eb5ffc7ed8bc2.tar.gz
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang *config/bfin/bfin.c (bfin_extra_live_on_entry): New. (TARGET_EXTRA_LIVE_ON_ENTRY): Define. From-SVN: r173366
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/bfin/bfin.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6f509040f39..d929f4eaec4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+ From Jie Zhang
+ *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
+ (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
+
+2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+
From Bernd Schmidt
* config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
account and save/restore RETS.
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 596042d139e..4bdc1ac1f59 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -1445,6 +1445,14 @@ bfin_hard_regno_rename_ok (unsigned int old_reg ATTRIBUTE_UNUSED,
return 1;
}
+/* Implement TARGET_EXTRA_LIVE_ON_ENTRY. */
+static void
+bfin_extra_live_on_entry (bitmap regs)
+{
+ if (TARGET_FDPIC)
+ bitmap_set_bit (regs, FDPIC_REGNO);
+}
+
/* Return the value of the return address for the frame COUNT steps up
from the current frame, after the prologue.
We punt for everything but the current frame by returning const0_rtx. */
@@ -6732,4 +6740,7 @@ bfin_conditional_register_usage (void)
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT bfin_trampoline_init
+#undef TARGET_EXTRA_LIVE_ON_ENTRY
+#define TARGET_EXTRA_LIVE_ON_ENTRY bfin_extra_live_on_entry
+
struct gcc_target targetm = TARGET_INITIALIZER;