From c988af2b8cb75ca28789f30a6bb650b38684cc0b Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sun, 16 Nov 2003 19:10:09 +0000 Subject: 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 --- gcc/target-def.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/target-def.h') diff --git a/gcc/target-def.h b/gcc/target-def.h index c4eeb93..5007a56 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -329,6 +329,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TARGET_STRUCT_VALUE_RTX default_struct_value_rtx #define TARGET_RETURN_IN_MEMORY default_return_in_memory +#define TARGET_RETURN_IN_MSB hook_bool_tree_false #define TARGET_EXPAND_BUILTIN_SAVEREGS default_expand_builtin_saveregs #define TARGET_SETUP_INCOMING_VARARGS default_setup_incoming_varargs @@ -341,6 +342,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. TARGET_PROMOTE_PROTOTYPES, \ TARGET_STRUCT_VALUE_RTX, \ TARGET_RETURN_IN_MEMORY, \ + TARGET_RETURN_IN_MSB, \ TARGET_EXPAND_BUILTIN_SAVEREGS, \ TARGET_SETUP_INCOMING_VARARGS, \ TARGET_STRICT_ARGUMENT_NAMING, \ -- cgit v1.1