diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-01-26 00:09:47 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-01-26 00:09:47 +0000 |
commit | 3f12cd9b3cfa9d4011eda8a9b469107a59ffe6e0 (patch) | |
tree | 12ffb8fbb5d5960c65feb60cbb87a19c6f75430f /gcc/config/pa/pa.h | |
parent | f289e226f1468a16627cef00b4678259c7a8d653 (diff) | |
download | gcc-3f12cd9b3cfa9d4011eda8a9b469107a59ffe6e0.zip gcc-3f12cd9b3cfa9d4011eda8a9b469107a59ffe6e0.tar.gz gcc-3f12cd9b3cfa9d4011eda8a9b469107a59ffe6e0.tar.bz2 |
pa-protos.h: Remove the prototype for hppa_builtin_saveregs.
* config/pa/pa-protos.h: Remove the prototype for
hppa_builtin_saveregs. Add a prototype for
pa_return_in_memory.
* config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
(pa_struct_value_rtx): Likewise.
(pa_return_in_memory): Likewise.
* config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
PA_STRUCT_VALUE_REGNUM.
(INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
(EXPAND_BUILTIN_SAVEREGS): Remove.
(PROMOTE_PROTOTYPES): Likewise.
(PROMOTE_FUNCTION_RETURN): Likewise.
From-SVN: r76600
Diffstat (limited to 'gcc/config/pa/pa.h')
-rw-r--r-- | gcc/config/pa/pa.h | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index f2ae999..95fb2f2 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -554,21 +554,9 @@ extern struct rtx_def *hppa_pic_save_rtx (void); #define DEFAULT_PCC_STRUCT_RETURN 0 -/* SOM ABI says that objects larger than 64 bits are returned in memory. - PA64 ABI says that objects larger than 128 bits are returned in memory. - Note, int_size_in_bytes can return -1 if the size of the object is - variable or larger than the maximum value that can be expressed as - a HOST_WIDE_INT. It can also return zero for an empty type. The - simplest way to handle variable and empty types is to pass them in - memory. This avoids problems in defining the boundaries of argument - slots, allocating registers, etc. */ -#define RETURN_IN_MEMORY(TYPE) \ - (int_size_in_bytes (TYPE) > (TARGET_64BIT ? 16 : 8) \ - || int_size_in_bytes (TYPE) <= 0) - /* Register in which address to store a structure value is passed to a function. */ -#define STRUCT_VALUE_REGNUM 28 +#define PA_STRUCT_VALUE_REGNUM 28 /* Describe how we implement __builtin_eh_return. */ #define EH_RETURN_DATA_REGNO(N) \ @@ -804,7 +792,7 @@ struct hppa_args {int words, nargs_prototype, incoming, indirect; }; (CUM).nargs_prototype = (FNTYPE && TYPE_ARG_TYPES (FNTYPE) \ ? (list_length (TYPE_ARG_TYPES (FNTYPE)) - 1 \ + (TYPE_MODE (TREE_TYPE (FNTYPE)) == BLKmode \ - || RETURN_IN_MEMORY (TREE_TYPE (FNTYPE)))) \ + || pa_return_in_memory (TREE_TYPE (FNTYPE), 0))) \ : 0) @@ -1153,13 +1141,6 @@ extern int may_call_alloca; #define TRAMPOLINE_ADJUST_ADDRESS(ADDR) \ if (!TARGET_64BIT) (ADDR) = memory_address (Pmode, plus_constant ((ADDR), 46)) -/* Emit code for a call to builtin_saveregs. We must emit USE insns which - reference the 4 integer arg registers and 4 fp arg registers. - Ordinarily they are not call used registers, but they are for - _builtin_saveregs, so we must make this explicit. */ - -#define EXPAND_BUILTIN_SAVEREGS() hppa_builtin_saveregs () - /* Implement `va_start' for varargs and stdarg. */ #define EXPAND_BUILTIN_VA_START(valist, nextarg) \ @@ -1734,10 +1715,6 @@ do { \ is done just by pretending it is already truncated. */ #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1 -/* When a prototype says `char' or `short', really pass an `int'. */ -#define PROMOTE_PROTOTYPES 1 -#define PROMOTE_FUNCTION_RETURN 1 - /* Specify the machine mode that pointers have. After generation of rtl, the compiler makes no further distinction between pointers and any other objects of this machine mode. */ |