summaryrefslogtreecommitdiff
path: root/gcc/config/v850/v850.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-22 07:18:33 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-22 07:18:33 +0000
commit5115372146c7762b67b0c30b01906d3fe6dad0c3 (patch)
tree4b5d0ea58d499c4b232c97da3fe08e4bad5182b5 /gcc/config/v850/v850.c
parenta8761b59fd725a476ce823908fa43b62367e02d3 (diff)
downloadgcc-5115372146c7762b67b0c30b01906d3fe6dad0c3.tar.gz
2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 167021 2010-11-22 Basile Starynkevitch <basile@starynkevitch.net> * melt-runtime.c: replaced strerror by xstrerror everywhere, while merging with trunk 167021. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@167023 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/v850/v850.c')
-rw-r--r--gcc/config/v850/v850.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index 81598628406..1b3f3e48305 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -3064,6 +3064,20 @@ v850_can_eliminate (const int from ATTRIBUTE_UNUSED, const int to)
return (to == STACK_POINTER_REGNUM ? ! frame_pointer_needed : true);
}
+/* Worker function for TARGET_CONDITIONAL_REGISTER_USAGE.
+
+ If TARGET_APP_REGS is not defined then add r2 and r5 to
+ the pool of fixed registers. See PR 14505. */
+
+static void
+v850_conditional_register_usage (void)
+{
+ if (TARGET_APP_REGS)
+ {
+ fixed_regs[2] = 0; call_used_regs[2] = 0;
+ fixed_regs[5] = 0; call_used_regs[5] = 1;
+ }
+}
/* Worker function for TARGET_ASM_TRAMPOLINE_TEMPLATE. */
@@ -3194,6 +3208,9 @@ static const struct attribute_spec v850_attribute_table[] =
#undef TARGET_CAN_ELIMINATE
#define TARGET_CAN_ELIMINATE v850_can_eliminate
+#undef TARGET_CONDITIONAL_REGISTER_USAGE
+#define TARGET_CONDITIONAL_REGISTER_USAGE v850_conditional_register_usage
+
#undef TARGET_ASM_TRAMPOLINE_TEMPLATE
#define TARGET_ASM_TRAMPOLINE_TEMPLATE v850_asm_trampoline_template
#undef TARGET_TRAMPOLINE_INIT