summaryrefslogtreecommitdiff
path: root/gcc/config/frv/frv.h
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-02 04:57:47 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-02 04:57:47 +0000
commitd9b1ff5b1a6de47dab0a4da2991ff4d2196de212 (patch)
tree1d04e1233f03f836fa8708f2a315b1ba2834a01c /gcc/config/frv/frv.h
parent05036ed04e63a8f6e91120bae3cd420570831366 (diff)
downloadgcc-d9b1ff5b1a6de47dab0a4da2991ff4d2196de212.tar.gz
* config/frv/frv-protos.h (frv_expand_epilogue,
frv_expand_fdpic_call): Add bool argument. * config/frv/frv.c (frv_function_ok_for_sibcall): New. (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it. (frv_expand_epilogue): Use new argument to decide whether to emit return instruction or copy the return address to LR. (frv_expand_fdpic_call): Inline PLT entry when emitting direct sibcalls. (sibcall_operand): New. * config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match PLUS nor LABEL_REF. Add sibcall_operand. * config/frv/frv.md (call, call_value): Pass false to frv_expand_fdpic_call. (call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll. (sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value, sibcall_value_internal, sibcall_value_fdpicdi): New. (return_unsigned_true, return_unsigned_false): New. (epilogue): Adjust call to frv_expand_epilogue. (sibcall_epilogue): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81405 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/frv/frv.h')
-rw-r--r--gcc/config/frv/frv.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index 438fbfef488..e6baec07973 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -3111,8 +3111,10 @@ do { \
{ "odd_fpr_operand", { REG, SUBREG }}, \
{ "dbl_memory_one_insn_operand", { MEM }}, \
{ "dbl_memory_two_insn_operand", { MEM }}, \
- { "call_operand", { REG, SUBREG, PLUS, CONST_INT, \
- SYMBOL_REF, LABEL_REF, CONST }}, \
+ { "call_operand", { REG, SUBREG, CONST_INT, \
+ CONST, SYMBOL_REF }}, \
+ { "sibcall_operand", { REG, SUBREG, CONST_INT, \
+ CONST }}, \
{ "upper_int16_operand", { CONST_INT }}, \
{ "uint16_operand", { CONST_INT }}, \
{ "relational_operator", { EQ, NE, LE, LT, GE, GT, \