From 6b1ce5454015ba8f4d0c5d0e35130494d4a96128 Mon Sep 17 00:00:00 2001 From: Anatoly Sokolov Date: Thu, 3 Mar 2011 00:36:02 +0300 Subject: [PATCH] stormy16.h (REGISTER_MOVE_COST, [...]): Remove. * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. * config/stormy16/stormy16.c: Include reload.h. (xstormy16_memory_move_cost): New function. (TARGET_MEMORY_MOVE_COST): Define. From-SVN: r170623 --- gcc/ChangeLog | 8 ++++++++ gcc/config/stormy16/stormy16.c | 12 ++++++++++++ gcc/config/stormy16/stormy16.h | 4 ---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f58172a070..e4b040c2066 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-03-02 Anatoly Sokolov + + * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): + Remove. + * config/stormy16/stormy16.c: Include reload.h. + (xstormy16_memory_move_cost): New function. + (TARGET_MEMORY_MOVE_COST): Define. + 2011-03-02 Richard Sandiford PR rtl-optimization/47925 diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c index 66cd1455692..eb456e27213 100644 --- a/gcc/config/stormy16/stormy16.c +++ b/gcc/config/stormy16/stormy16.c @@ -46,6 +46,7 @@ #include "langhooks.h" #include "gimple.h" #include "df.h" +#include "reload.h" #include "ggc.h" static rtx emit_addhi3_postreload (rtx, rtx, rtx); @@ -108,6 +109,15 @@ xstormy16_address_cost (rtx x, bool speed ATTRIBUTE_UNUSED) : 5); } +/* Worker function for TARGET_MEMORY_MOVE_COST. */ + +static int +xstormy16_memory_move_cost (enum machine_mode mode, reg_class_t rclass, + bool in) +{ + return (5 + memory_move_secondary_cost (mode, rclass, in)); +} + /* Branches are handled as follows: 1. HImode compare-and-branches. The machine supports these @@ -2598,6 +2608,8 @@ static const struct default_options xstorym16_option_optimization_table[] = #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK #define TARGET_ASM_CAN_OUTPUT_MI_THUNK default_can_output_mi_thunk_no_vcall +#undef TARGET_MEMORY_MOVE_COST +#define TARGET_MEMORY_MOVE_COST xstormy16_memory_move_cost #undef TARGET_RTX_COSTS #define TARGET_RTX_COSTS xstormy16_rtx_costs #undef TARGET_ADDRESS_COST diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h index daec8a2b3c6..ac42ebd40a0 100644 --- a/gcc/config/stormy16/stormy16.h +++ b/gcc/config/stormy16/stormy16.h @@ -354,10 +354,6 @@ enum reg_class /* Describing Relative Costs of Operations. */ -#define REGISTER_MOVE_COST(MODE, FROM, TO) 2 - -#define MEMORY_MOVE_COST(M,C,I) (5 + memory_move_secondary_cost (M, C, I)) - #define BRANCH_COST(speed_p, predictable_p) 5 #define SLOW_BYTE_ACCESS 0 -- 2.30.2