summaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-16 19:10:09 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-16 19:10:09 +0000
commit2c8ff1ed92619c18ef59ae4d66a3cb7ef62de1ac (patch)
tree9ef329c0c8bbcf96f5ead9aa89d71751793d4122 /gcc/target.h
parent07a40807d48bc44e008c55461f10e35a65e855d1 (diff)
downloadgcc-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.h1
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,