aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.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-def.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-def.h')
-rw-r--r--gcc/target-def.h2
1 files changed, 2 insertions, 0 deletions
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, \