h8300.c (h8300_return_in_memory): New.
* config/h8300/h8300.c (h8300_return_in_memory): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/h8300/h8300.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. From-SVN: r75933
This commit is contained in:
parent
e5396f908a
commit
34bf1fe3ad
@ -1,3 +1,11 @@
|
||||
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* config/h8300/h8300.c (h8300_return_in_memory): New.
|
||||
(TARGET_STRUCT_VALUE_RTX): Likewise.
|
||||
(TARGET_RETURN_IN_MEMORY): Likewise.
|
||||
* config/h8300/h8300.h (STRUCT_VALUE): Remove.
|
||||
(RETURN_IN_MEMORY): Likewise.
|
||||
|
||||
2004-01-15 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
PR optimization/13375
|
||||
|
@ -4564,6 +4564,13 @@ h8300_init_libfuncs (void)
|
||||
set_optab_libfunc (umod_optab, HImode, "__umodhi3");
|
||||
}
|
||||
|
||||
static bool
|
||||
h8300_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return (TYPE_MODE (type) == BLKmode
|
||||
|| GET_MODE_SIZE (TYPE_MODE (type)) > (TARGET_H8300 ? 4 : 8));
|
||||
}
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
#undef TARGET_ATTRIBUTE_TABLE
|
||||
#define TARGET_ATTRIBUTE_TABLE h8300_attribute_table
|
||||
@ -4591,4 +4598,9 @@ h8300_init_libfuncs (void)
|
||||
#undef TARGET_INIT_LIBFUNCS
|
||||
#define TARGET_INIT_LIBFUNCS h8300_init_libfuncs
|
||||
|
||||
#undef TARGET_STRUCT_VALUE_RTX
|
||||
#define TARGET_STRUCT_VALUE_RTX hook_rtx_tree_int_null
|
||||
#undef TARGET_RETURN_IN_MEMORY
|
||||
#define TARGET_RETURN_IN_MEMORY h8300_return_in_memory
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
@ -632,16 +632,6 @@ enum reg_class {
|
||||
|
||||
#define FUNCTION_ARG_REGNO_P(N) (TARGET_QUICKCALL ? N < 3 : 0)
|
||||
|
||||
/* Register in which address to store a structure value
|
||||
is passed to a function. */
|
||||
|
||||
#define STRUCT_VALUE 0
|
||||
|
||||
/* Return true if X should be returned in memory. */
|
||||
#define RETURN_IN_MEMORY(X) \
|
||||
(TYPE_MODE (X) == BLKmode \
|
||||
|| GET_MODE_SIZE (TYPE_MODE (X)) > (TARGET_H8300 ? 4 : 8))
|
||||
|
||||
/* When defined, the compiler allows registers explicitly used in the
|
||||
rtl to be used as spill registers but prevents the compiler from
|
||||
extending the lifetime of these registers. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user