[ARC] Refactor deprecated macros.
xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (arc_register_move_cost): Remove. * config/arc/arc.c (arc_register_move_cost): Re-purpose it to implement target hook. (arc_memory_move_cost): New function. (TARGET_REGISTER_MOVE_COST): Define. (TARGET_MEMORY_MOVE_COST): Likewise. * config/arc/arc.h (REGISTER_MOVE_COST): Remove. (MEMORY_MOVE_COST): Likewise. fix From-SVN: r270387
This commit is contained in:
parent
fa27cbfeb3
commit
b9bc3b128c
4 changed files with 35 additions and 15 deletions
|
@ -1,3 +1,14 @@
|
|||
2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* config/arc/arc-protos.h (arc_register_move_cost): Remove.
|
||||
* config/arc/arc.c (arc_register_move_cost): Re-purpose it to
|
||||
implement target hook.
|
||||
(arc_memory_move_cost): New function.
|
||||
(TARGET_REGISTER_MOVE_COST): Define.
|
||||
(TARGET_MEMORY_MOVE_COST): Likewise.
|
||||
* config/arc/arc.h (REGISTER_MOVE_COST): Remove.
|
||||
(MEMORY_MOVE_COST): Likewise.
|
||||
|
||||
2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* config/arc/arc.md (sibcall_insn): Use Rcd constraint.
|
||||
|
|
|
@ -68,8 +68,6 @@ extern bool arc_is_shortcall_p (rtx);
|
|||
extern bool valid_brcc_with_delay_p (rtx *);
|
||||
extern bool arc_ccfsm_cond_exec_p (void);
|
||||
struct secondary_reload_info;
|
||||
extern int arc_register_move_cost (machine_mode, enum reg_class,
|
||||
enum reg_class);
|
||||
extern rtx disi_highpart (rtx);
|
||||
extern int arc_adjust_insn_length (rtx_insn *, int, bool);
|
||||
extern int arc_corereg_hazard (rtx, rtx);
|
||||
|
|
|
@ -8682,9 +8682,11 @@ arc_preserve_reload_p (rtx in)
|
|||
&& !((INTVAL (XEXP (in, 1)) & 511)));
|
||||
}
|
||||
|
||||
int
|
||||
/* Implement TARGET_REGISTER_MOVE_COST. */
|
||||
|
||||
static int
|
||||
arc_register_move_cost (machine_mode,
|
||||
enum reg_class from_class, enum reg_class to_class)
|
||||
reg_class_t from_class, reg_class_t to_class)
|
||||
{
|
||||
/* Force an attempt to 'mov Dy,Dx' to spill. */
|
||||
if ((TARGET_ARC700 || TARGET_EM) && TARGET_DPFP
|
||||
|
@ -11424,6 +11426,20 @@ arc_adjust_reg_alloc_order (void)
|
|||
memcpy (reg_alloc_order, size_alloc_order, sizeof (size_alloc_order));
|
||||
}
|
||||
|
||||
/* Implement TARGET_MEMORY_MOVE_COST. */
|
||||
|
||||
static int
|
||||
arc_memory_move_cost (machine_mode mode,
|
||||
reg_class_t rclass ATTRIBUTE_UNUSED,
|
||||
bool in ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if ((GET_MODE_SIZE (mode) <= UNITS_PER_WORD)
|
||||
|| ((GET_MODE_SIZE (mode) <= UNITS_PER_WORD * 2) && TARGET_LL64))
|
||||
return 6;
|
||||
|
||||
return (2 * GET_MODE_SIZE (mode));
|
||||
}
|
||||
|
||||
#undef TARGET_USE_ANCHORS_FOR_SYMBOL_P
|
||||
#define TARGET_USE_ANCHORS_FOR_SYMBOL_P arc_use_anchors_for_symbol_p
|
||||
|
||||
|
@ -11439,6 +11455,12 @@ arc_adjust_reg_alloc_order (void)
|
|||
#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
|
||||
#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
|
||||
|
||||
#undef TARGET_REGISTER_MOVE_COST
|
||||
#define TARGET_REGISTER_MOVE_COST arc_register_move_cost
|
||||
|
||||
#undef TARGET_MEMORY_MOVE_COST
|
||||
#define TARGET_MEMORY_MOVE_COST arc_memory_move_cost
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
#include "gt-arc.h"
|
||||
|
|
|
@ -925,17 +925,6 @@ arc_select_cc_mode (OP, X, Y)
|
|||
|
||||
/* Costs. */
|
||||
|
||||
/* Compute extra cost of moving data between one register class
|
||||
and another. */
|
||||
#define REGISTER_MOVE_COST(MODE, CLASS, TO_CLASS) \
|
||||
arc_register_move_cost ((MODE), (CLASS), (TO_CLASS))
|
||||
|
||||
/* Compute the cost of moving data between registers and memory. */
|
||||
/* Memory is 3 times as expensive as registers.
|
||||
??? Is that the right way to look at it? */
|
||||
#define MEMORY_MOVE_COST(MODE,CLASS,IN) \
|
||||
(GET_MODE_SIZE (MODE) <= UNITS_PER_WORD ? 6 : 12)
|
||||
|
||||
/* The cost of a branch insn. */
|
||||
/* ??? What's the right value here? Branches are certainly more
|
||||
expensive than reg->reg moves. */
|
||||
|
|
Loading…
Add table
Reference in a new issue