mips.c (mips_promote_function_mode): New function.
2015-12-14 Steve Ellcey <sellcey@imgtec.com> * config/mips/mips.c (mips_promote_function_mode): New function. (TARGET_PROMOTE_FUNCTION_MODE): Define as above function. (TARGET_PROMOTE_PROTOTYPES): Remove. From-SVN: r231634
This commit is contained in:
parent
fa583f9e65
commit
db4aec84e0
|
@ -1,3 +1,9 @@
|
|||
2015-12-14 Steve Ellcey <sellcey@imgtec.com>
|
||||
|
||||
* config/mips/mips.c (mips_promote_function_mode): New function.
|
||||
(TARGET_PROMOTE_FUNCTION_MODE): Define as above function.
|
||||
(TARGET_PROMOTE_PROTOTYPES): Remove.
|
||||
|
||||
2015-12-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/68309
|
||||
|
|
|
@ -19906,6 +19906,32 @@ mips_ira_change_pseudo_allocno_class (int regno, reg_class_t allocno_class)
|
|||
return GR_REGS;
|
||||
return allocno_class;
|
||||
}
|
||||
|
||||
/* Implement TARGET_PROMOTE_FUNCTION_MODE */
|
||||
|
||||
/* This function is equivalent to default_promote_function_mode_always_promote
|
||||
except that it returns a promoted mode even if type is NULL_TREE. This is
|
||||
needed by libcalls which have no type (only a mode) such as fixed conversion
|
||||
routines that take a signed or unsigned char/short argument and convert it
|
||||
to a fixed type. */
|
||||
|
||||
static machine_mode
|
||||
mips_promote_function_mode (const_tree type ATTRIBUTE_UNUSED,
|
||||
machine_mode mode,
|
||||
int *punsignedp ATTRIBUTE_UNUSED,
|
||||
const_tree fntype ATTRIBUTE_UNUSED,
|
||||
int for_return ATTRIBUTE_UNUSED)
|
||||
{
|
||||
int unsignedp;
|
||||
|
||||
if (type != NULL_TREE)
|
||||
return promote_mode (type, mode, punsignedp);
|
||||
|
||||
unsignedp = *punsignedp;
|
||||
PROMOTE_MODE (mode, unsignedp, type);
|
||||
*punsignedp = unsignedp;
|
||||
return mode;
|
||||
}
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
#undef TARGET_ASM_ALIGNED_HI_OP
|
||||
|
@ -20010,10 +20036,7 @@ mips_ira_change_pseudo_allocno_class (int regno, reg_class_t allocno_class)
|
|||
#define TARGET_GIMPLIFY_VA_ARG_EXPR mips_gimplify_va_arg_expr
|
||||
|
||||
#undef TARGET_PROMOTE_FUNCTION_MODE
|
||||
#define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode_always_promote
|
||||
#undef TARGET_PROMOTE_PROTOTYPES
|
||||
#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_true
|
||||
|
||||
#define TARGET_PROMOTE_FUNCTION_MODE mips_promote_function_mode
|
||||
#undef TARGET_FUNCTION_VALUE
|
||||
#define TARGET_FUNCTION_VALUE mips_function_value
|
||||
#undef TARGET_LIBCALL_VALUE
|
||||
|
|
Loading…
Reference in New Issue