diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-16 19:10:09 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-16 19:10:09 +0000 |
commit | 2c8ff1ed92619c18ef59ae4d66a3cb7ef62de1ac (patch) | |
tree | 9ef329c0c8bbcf96f5ead9aa89d71751793d4122 /gcc/target.h | |
parent | 07a40807d48bc44e008c55461f10e35a65e855d1 (diff) | |
download | gcc-2c8ff1ed92619c18ef59ae4d66a3cb7ef62de1ac.tar.gz |
* Makefile.in (expr.o): Depend on $(TARGET_H).
* target.h (return_in_msb): New target hook.
* target-def.h (TARGET_RETURN_IN_MSB): New macro.
(TARGET_CALLS): Include it.
* calls.c (shift_returned_value): New function.
(expand_call): Use it.
* expr.c: Include target.h.
(copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
deciding what padding is needed. Change the name of the local
padding variable from big_endian_correction to padding_correction.
* stmt.c (shift_return_value): New function.
(expand_return): Use it. Adjust memory->register copy in the same
way as copy_blkmode_from_reg. Only change the return register's
mode if it was originally BLKmode.
* doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
* config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
(mips_fpr_return_fields): New, split out from mips_function_value.
(mips_return_in_msb, mips_return_fpr_pair): New functions.
(mips_function_value): Rework to use the functions above.
* config/mips/irix6-libc-compat.c: Delete.
* config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73652 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r-- | gcc/target.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h index fbea5207c90..10be2370269 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -429,6 +429,7 @@ struct gcc_target bool (*promote_prototypes) (tree fntype); rtx (*struct_value_rtx) (tree fndecl, int incoming); bool (*return_in_memory) (tree type, tree fndecl); + bool (*return_in_msb) (tree type); rtx (*expand_builtin_saveregs) (void); /* Returns pretend_argument_size. */ void (*setup_incoming_varargs) (CUMULATIVE_ARGS *ca, enum machine_mode mode, |