Commit 899cc0f4 by Jan Hubicka Committed by Jan Hubicka

frv.c (frv_rtx_costs): Update forward declaration.



	* frv.c (frv_rtx_costs): Update forward declaration.
	* spu.c (spu_rtx_costs): Likewise.
	* pdp11.c: Include df.h
	(pdp11_output_function_epilogue): Use df_set_regs_ever_live.
	* m68hc11.c (m68hc11_gen_highpart): Fix call of gen_rtx_SUBREG.
	(m68hc11_rtx_costs_1): Fix call of rtx_cost.
	* iq2000.c (iq2000_address_cost): Add speed argument.
	(iq2000_rtx_costs): Likewise.
	* mn10300.c (mn10300_address_cost_1): Remove speed argument;
	update call of mn10300_address_cost.
	* mcore.c: Include df.h
	(mcore_rtx_costs): Update prototype.
	* score3.c: Include df.h
	(score3_rtx_costs): Remove speed argument.
	* score7.c: Include df.h
	(score7_address_cost): Remove speed argument.
	* score-protos.h (score_address_cost): Update prototype.
	* score.c: Include df.h
	(score_rtx_costs): Update call of costs functions.
	* v850.c (v850_rtx_costs): Add bool argument.

From-SVN: r139843
parent cd6b7bc6
2008-08-31 Jan Hubicka <jh@suse.cz>
* frv.c (frv_rtx_costs): Update forward declaration.
* spu.c (spu_rtx_costs): Likewise.
* pdp11.c: Include df.h
(pdp11_output_function_epilogue): Use df_set_regs_ever_live.
* m68hc11.c (m68hc11_gen_highpart): Fix call of gen_rtx_SUBREG.
(m68hc11_rtx_costs_1): Fix call of rtx_cost.
* iq2000.c (iq2000_address_cost): Add speed argument.
(iq2000_rtx_costs): Likewise.
* mn10300.c (mn10300_address_cost_1): Remove speed argument;
update call of mn10300_address_cost.
* mcore.c: Include df.h
(mcore_rtx_costs): Update prototype.
* score3.c: Include df.h
(score3_rtx_costs): Remove speed argument.
* score7.c: Include df.h
(score7_address_cost): Remove speed argument.
* score-protos.h (score_address_cost): Update prototype.
* score.c: Include df.h
(score_rtx_costs): Update call of costs functions.
* v850.c (v850_rtx_costs): Add bool argument.
2008-08-31 Hans-Peter Nilsson <hp@axis.com> 2008-08-31 Hans-Peter Nilsson <hp@axis.com>
* config/cris/cris.c (cris_rtx_costs): Correct call to rtx_costs. * config/cris/cris.c (cris_rtx_costs): Correct call to rtx_costs.
......
...@@ -366,7 +366,7 @@ static void frv_setup_incoming_varargs (CUMULATIVE_ARGS *, ...@@ -366,7 +366,7 @@ static void frv_setup_incoming_varargs (CUMULATIVE_ARGS *,
tree, int *, int); tree, int *, int);
static rtx frv_expand_builtin_saveregs (void); static rtx frv_expand_builtin_saveregs (void);
static void frv_expand_builtin_va_start (tree, rtx); static void frv_expand_builtin_va_start (tree, rtx);
static bool frv_rtx_costs (rtx, int, int, int*); static bool frv_rtx_costs (rtx, int, int, int*, bool);
static void frv_asm_out_constructor (rtx, int); static void frv_asm_out_constructor (rtx, int);
static void frv_asm_out_destructor (rtx, int); static void frv_asm_out_destructor (rtx, int);
static bool frv_function_symbol_referenced_p (rtx); static bool frv_function_symbol_referenced_p (rtx);
......
...@@ -744,7 +744,7 @@ iq2000_move_1word (rtx operands[], rtx insn, int unsignedp) ...@@ -744,7 +744,7 @@ iq2000_move_1word (rtx operands[], rtx insn, int unsignedp)
/* Provide the costs of an addressing mode that contains ADDR. */ /* Provide the costs of an addressing mode that contains ADDR. */
static int static int
iq2000_address_cost (rtx addr, bool speec ATTRIBUTE_UNUSED) iq2000_address_cost (rtx addr, bool speed)
{ {
switch (GET_CODE (addr)) switch (GET_CODE (addr))
{ {
...@@ -795,7 +795,7 @@ iq2000_address_cost (rtx addr, bool speec ATTRIBUTE_UNUSED) ...@@ -795,7 +795,7 @@ iq2000_address_cost (rtx addr, bool speec ATTRIBUTE_UNUSED)
case LABEL_REF: case LABEL_REF:
case HIGH: case HIGH:
case LO_SUM: case LO_SUM:
return iq2000_address_cost (plus1) + 1; return iq2000_address_cost (plus1, speed) + 1;
default: default:
break; break;
...@@ -3203,7 +3203,8 @@ print_operand (FILE *file, rtx op, int letter) ...@@ -3203,7 +3203,8 @@ print_operand (FILE *file, rtx op, int letter)
} }
static bool static bool
iq2000_rtx_costs (rtx x, int code, int outer_code ATTRIBUTE_UNUSED, int * total, bool speed) iq2000_rtx_costs (rtx x, int code, int outer_code ATTRIBUTE_UNUSED, int * total,
bool speed ATTRIBUTE_UNUSED)
{ {
enum machine_mode mode = GET_MODE (x); enum machine_mode mode = GET_MODE (x);
......
...@@ -1960,7 +1960,7 @@ m68hc11_gen_highpart (enum machine_mode mode, rtx x) ...@@ -1960,7 +1960,7 @@ m68hc11_gen_highpart (enum machine_mode mode, rtx x)
switch (GET_CODE (x)) switch (GET_CODE (x))
{ {
case SUBREG: case SUBREG:
return gen_rtx_SUBREG (mode, XEXP (x, 0), XEXP (x, 1)); return gen_rtx_SUBREG (mode, XEXP (x, 0), XINT (x, 1));
case REG: case REG:
if (REGNO (x) < FIRST_PSEUDO_REGISTER) if (REGNO (x) < FIRST_PSEUDO_REGISTER)
return gen_rtx_REG (mode, REGNO (x)); return gen_rtx_REG (mode, REGNO (x));
...@@ -5335,7 +5335,8 @@ m68hc11_rtx_costs_1 (rtx x, enum rtx_code code, ...@@ -5335,7 +5335,8 @@ m68hc11_rtx_costs_1 (rtx x, enum rtx_code code,
+ rtx_cost (XEXP (XEXP (x, 0), 0), code, !optimize_size) + rtx_cost (XEXP (XEXP (x, 0), 0), code, !optimize_size)
+ rtx_cost (XEXP (XEXP (x, 1), 0), code, !optimize_size); + rtx_cost (XEXP (XEXP (x, 1), 0), code, !optimize_size);
total = rtx_cost (XEXP (x, 0), code) + rtx_cost (XEXP (x, 1), code); total = rtx_cost (XEXP (x, 0), code, !optimize_size)
+ rtx_cost (XEXP (x, 1), code, !optimize_size);
switch (mode) switch (mode)
{ {
case QImode: case QImode:
......
...@@ -1067,18 +1067,15 @@ extern enum reg_class m68hc11_index_reg_class; ...@@ -1067,18 +1067,15 @@ extern enum reg_class m68hc11_index_reg_class;
local-alloc.c. */ local-alloc.c. */
/* Internal macro, return 1 if REGNO is a valid base register. */
#define REG_VALID_P(REGNO) ((REGNO) >= 0)
extern unsigned char m68hc11_reg_valid_for_base[FIRST_PSEUDO_REGISTER]; extern unsigned char m68hc11_reg_valid_for_base[FIRST_PSEUDO_REGISTER];
#define REG_VALID_FOR_BASE_P(REGNO) \ #define REG_VALID_FOR_BASE_P(REGNO) \
(REG_VALID_P (REGNO) && (REGNO) < FIRST_PSEUDO_REGISTER \ ((REGNO) < FIRST_PSEUDO_REGISTER \
&& m68hc11_reg_valid_for_base[REGNO]) && m68hc11_reg_valid_for_base[REGNO])
/* Internal macro, return 1 if REGNO is a valid index register. */ /* Internal macro, return 1 if REGNO is a valid index register. */
extern unsigned char m68hc11_reg_valid_for_index[FIRST_PSEUDO_REGISTER]; extern unsigned char m68hc11_reg_valid_for_index[FIRST_PSEUDO_REGISTER];
#define REG_VALID_FOR_INDEX_P(REGNO) \ #define REG_VALID_FOR_INDEX_P(REGNO) \
(REG_VALID_P (REGNO) >= 0 && (REGNO) < FIRST_PSEUDO_REGISTER \ ((REGNO) < FIRST_PSEUDO_REGISTER \
&& m68hc11_reg_valid_for_index[REGNO]) && m68hc11_reg_valid_for_index[REGNO])
/* Internal macro, the nonstrict definition for REGNO_OK_FOR_BASE_P. */ /* Internal macro, the nonstrict definition for REGNO_OK_FOR_BASE_P. */
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include "toplev.h" #include "toplev.h"
#include "target.h" #include "target.h"
#include "target-def.h" #include "target-def.h"
#include "df.h"
/* Maximum size we are allowed to grow the stack in a single operation. /* Maximum size we are allowed to grow the stack in a single operation.
If we want more, we must do it in increments of at most this size. If we want more, we must do it in increments of at most this size.
...@@ -143,7 +144,7 @@ static const char *mcore_strip_name_encoding (const char *); ...@@ -143,7 +144,7 @@ static const char *mcore_strip_name_encoding (const char *);
static int mcore_const_costs (rtx, RTX_CODE); static int mcore_const_costs (rtx, RTX_CODE);
static int mcore_and_cost (rtx); static int mcore_and_cost (rtx);
static int mcore_ior_cost (rtx); static int mcore_ior_cost (rtx);
static bool mcore_rtx_costs (rtx, int, int, int *); static bool mcore_rtx_costs (rtx, int, int, int *, bool);
static void mcore_external_libcall (rtx); static void mcore_external_libcall (rtx);
static bool mcore_return_in_memory (const_tree, const_tree); static bool mcore_return_in_memory (const_tree, const_tree);
static int mcore_arg_partial_bytes (CUMULATIVE_ARGS *, static int mcore_arg_partial_bytes (CUMULATIVE_ARGS *,
......
...@@ -1942,7 +1942,7 @@ legitimate_address_p (enum machine_mode mode, rtx x, int strict) ...@@ -1942,7 +1942,7 @@ legitimate_address_p (enum machine_mode mode, rtx x, int strict)
} }
static int static int
mn10300_address_cost_1 (rtx x, int *unsig, bool speed ATTRIBUTE_UNUSED) mn10300_address_cost_1 (rtx x, int *unsig)
{ {
switch (GET_CODE (x)) switch (GET_CODE (x))
{ {
...@@ -1979,7 +1979,7 @@ mn10300_address_cost_1 (rtx x, int *unsig, bool speed ATTRIBUTE_UNUSED) ...@@ -1979,7 +1979,7 @@ mn10300_address_cost_1 (rtx x, int *unsig, bool speed ATTRIBUTE_UNUSED)
case EXPR_LIST: case EXPR_LIST:
case SUBREG: case SUBREG:
case MEM: case MEM:
return mn10300_address_cost (XEXP (x, 0)); return mn10300_address_cost (XEXP (x, 0), !optimize_size);
case ZERO_EXTEND: case ZERO_EXTEND:
*unsig = 1; *unsig = 1;
......
...@@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h" #include "tm_p.h"
#include "target.h" #include "target.h"
#include "target-def.h" #include "target-def.h"
#include "df.h"
/* /*
#define FPU_REG_P(X) ((X)>=8 && (X)<14) #define FPU_REG_P(X) ((X)>=8 && (X)<14)
...@@ -376,7 +377,7 @@ pdp11_output_function_epilogue (FILE *stream, HOST_WIDE_INT size) ...@@ -376,7 +377,7 @@ pdp11_output_function_epilogue (FILE *stream, HOST_WIDE_INT size)
if (frame_pointer_needed) if (frame_pointer_needed)
{ {
/* hope this is safe - m68k does it also .... */ /* hope this is safe - m68k does it also .... */
df_regs_ever_live_p (FRAME_POINTER_REGNUM) = 0; df_set_regs_ever_live (FRAME_POINTER_REGNUM, false);
for (i =7, j = 0 ; i >= 0 ; i--) for (i =7, j = 0 ; i >= 0 ; i--)
if (df_regs_ever_live_p (i) && ! call_used_regs[i]) if (df_regs_ever_live_p (i) && ! call_used_regs[i])
......
...@@ -39,7 +39,7 @@ extern const char * score_move (rtx *ops); ...@@ -39,7 +39,7 @@ extern const char * score_move (rtx *ops);
extern bool score_unaligned_load (rtx* ops); extern bool score_unaligned_load (rtx* ops);
extern bool score_unaligned_store (rtx* ops); extern bool score_unaligned_store (rtx* ops);
extern bool score_block_move (rtx* ops); extern bool score_block_move (rtx* ops);
extern int score_address_cost (rtx addr); extern int score_address_cost (rtx addr, bool speed);
extern rtx score_function_arg (const CUMULATIVE_ARGS *cum, extern rtx score_function_arg (const CUMULATIVE_ARGS *cum,
enum machine_mode mode, enum machine_mode mode,
tree type, int named); tree type, int named);
......
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
#include "langhooks.h" #include "langhooks.h"
#include "score7.h" #include "score7.h"
#include "score3.h" #include "score3.h"
#include "df.h"
#undef TARGET_ASM_FILE_START #undef TARGET_ASM_FILE_START
#define TARGET_ASM_FILE_START score_asm_file_start #define TARGET_ASM_FILE_START score_asm_file_start
...@@ -573,9 +574,9 @@ score_rtx_costs (rtx x, int code, int outer_code, int *total, ...@@ -573,9 +574,9 @@ score_rtx_costs (rtx x, int code, int outer_code, int *total,
bool speed ATTRIBUTE_UNUSED) bool speed ATTRIBUTE_UNUSED)
{ {
if (TARGET_SCORE5 || TARGET_SCORE5U || TARGET_SCORE7 || TARGET_SCORE7D) if (TARGET_SCORE5 || TARGET_SCORE5U || TARGET_SCORE7 || TARGET_SCORE7D)
return score7_rtx_costs (x, code, outer_code, total); return score7_rtx_costs (x, code, outer_code, total, speed);
else if (TARGET_SCORE3) else if (TARGET_SCORE3)
return score3_rtx_costs (x, code, outer_code, total); return score3_rtx_costs (x, code, outer_code, total, speed);
gcc_unreachable (); gcc_unreachable ();
} }
......
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
#include "langhooks.h" #include "langhooks.h"
#include "cfglayout.h" #include "cfglayout.h"
#include "score3.h" #include "score3.h"
#include "df.h"
#define BITSET_P(VALUE, BIT) (((VALUE) & (1L << (BIT))) != 0) #define BITSET_P(VALUE, BIT) (((VALUE) & (1L << (BIT))) != 0)
#define INS_BUF_SZ 128 #define INS_BUF_SZ 128
...@@ -1155,7 +1156,7 @@ score3_rtx_costs (rtx x, int code, int outer_code, int *total, ...@@ -1155,7 +1156,7 @@ score3_rtx_costs (rtx x, int code, int outer_code, int *total,
/* Implement TARGET_ADDRESS_COST macro. */ /* Implement TARGET_ADDRESS_COST macro. */
int int
score3_address_cost (rtx addr, bool speed ATTRIBUTE_UNUSED) score3_address_cost (rtx addr)
{ {
return score3_address_insns (addr, SImode); return score3_address_insns (addr, SImode);
} }
......
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
#include "langhooks.h" #include "langhooks.h"
#include "cfglayout.h" #include "cfglayout.h"
#include "score7.h" #include "score7.h"
#include "df.h"
#define BITSET_P(VALUE, BIT) (((VALUE) & (1L << (BIT))) != 0) #define BITSET_P(VALUE, BIT) (((VALUE) & (1L << (BIT))) != 0)
#define INS_BUF_SZ 128 #define INS_BUF_SZ 128
...@@ -1146,8 +1147,7 @@ score7_rtx_costs (rtx x, int code, int outer_code, int *total, ...@@ -1146,8 +1147,7 @@ score7_rtx_costs (rtx x, int code, int outer_code, int *total,
/* Implement TARGET_ADDRESS_COST macro. */ /* Implement TARGET_ADDRESS_COST macro. */
int int
score7_address_cost (rtx addr, score7_address_cost (rtx addr)
bool speed ATTRIBUTE_UNUSED)
{ {
return score7_address_insns (addr, SImode); return score7_address_insns (addr, SImode);
} }
......
...@@ -126,7 +126,7 @@ static int mem_is_padded_component_ref (rtx x); ...@@ -126,7 +126,7 @@ static int mem_is_padded_component_ref (rtx x);
static bool spu_assemble_integer (rtx x, unsigned int size, int aligned_p); static bool spu_assemble_integer (rtx x, unsigned int size, int aligned_p);
static void spu_asm_globalize_label (FILE * file, const char *name); static void spu_asm_globalize_label (FILE * file, const char *name);
static unsigned char spu_rtx_costs (rtx x, int code, int outer_code, static unsigned char spu_rtx_costs (rtx x, int code, int outer_code,
int *total); int *total, bool speed);
static unsigned char spu_function_ok_for_sibcall (tree decl, tree exp); static unsigned char spu_function_ok_for_sibcall (tree decl, tree exp);
static void spu_init_libfuncs (void); static void spu_init_libfuncs (void);
static bool spu_return_in_memory (const_tree type, const_tree fntype); static bool spu_return_in_memory (const_tree type, const_tree fntype);
......
...@@ -53,7 +53,7 @@ static bool v850_handle_option (size_t, const char *, int); ...@@ -53,7 +53,7 @@ static bool v850_handle_option (size_t, const char *, int);
static void const_double_split (rtx, HOST_WIDE_INT *, HOST_WIDE_INT *); static void const_double_split (rtx, HOST_WIDE_INT *, HOST_WIDE_INT *);
static int const_costs_int (HOST_WIDE_INT, int); static int const_costs_int (HOST_WIDE_INT, int);
static int const_costs (rtx, enum rtx_code); static int const_costs (rtx, enum rtx_code);
static bool v850_rtx_costs (rtx, int, int, int *); static bool v850_rtx_costs (rtx, int, int, int *, bool);
static void substitute_ep_register (rtx, rtx, int, int, rtx *, rtx *); static void substitute_ep_register (rtx, rtx, int, int, rtx *, rtx *);
static void v850_reorg (void); static void v850_reorg (void);
static int ep_memory_offset (enum machine_mode, int); static int ep_memory_offset (enum machine_mode, int);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment