aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2003-11-16 19:10:09 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2003-11-16 19:10:09 +0000
commitc988af2b8cb75ca28789f30a6bb650b38684cc0b (patch)
tree9ef329c0c8bbcf96f5ead9aa89d71751793d4122 /gcc/target.h
parente0c99e151e45babaac50125628ca9caf0f8c9008 (diff)
downloadgcc-c988af2b8cb75ca28789f30a6bb650b38684cc0b.zip
gcc-c988af2b8cb75ca28789f30a6bb650b38684cc0b.tar.gz
gcc-c988af2b8cb75ca28789f30a6bb650b38684cc0b.tar.bz2
Makefile.in (expr.o): Depend on $(TARGET_H).
* 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. From-SVN: r73652
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 fbea520..10be237 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,