diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/config/mips/mips-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 27 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 5 |
4 files changed, 37 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5896305..8679161 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2010-06-07 Nathan Froyd <froydnj@codesourcery.com> + + * config/mips/mips-protos.h (mips_print_operand): Delete. + (mips_print_operand_address): Delete. + * config/mips/mips.h (mips_print_operand_punct): Delete. + (PRINT_OPERAND): Delete. + (PRINT_OPERAND_PUNCT_VALID_P): Delete. + (PRINT_OPERAND_ADDRESS): Delete. + * config/mips/mips.c (mips_print_operand_punct): Make static. + (mips_print_operand_address): Make static. + (mips_print_operand): Make static. Call + mips_print_operand_punct_valid_p. + (mips_print_operand_punct_valid_p): New function. + (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define. + (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. + 2010-06-07 Jan Hubicka <jh@suse.cz> PR middle-end/44454 diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h index e4fbb32..70920fd 100644 --- a/gcc/config/mips/mips-protos.h +++ b/gcc/config/mips/mips-protos.h @@ -260,8 +260,6 @@ extern HOST_WIDE_INT mips_debugger_offset (rtx, HOST_WIDE_INT); extern void mips_push_asm_switch (struct mips_asm_switch *); extern void mips_pop_asm_switch (struct mips_asm_switch *); -extern void mips_print_operand (FILE *, rtx, int); -extern void mips_print_operand_address (FILE *, rtx); extern void mips_output_external (FILE *, tree, const char *); extern void mips_output_filename (FILE *, const char *); extern void mips_output_ascii (FILE *, const char *, size_t); diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index a00b106..33f6047 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -548,7 +548,7 @@ bool mips_hard_regno_mode_ok[(int) MAX_MACHINE_MODE][FIRST_PSEUDO_REGISTER]; /* Index C is true if character C is a valid PRINT_OPERAND punctation character. */ -bool mips_print_operand_punct[256]; +static bool mips_print_operand_punct[256]; static GTY (()) int mips_output_filename_first_time = 1; @@ -7446,7 +7446,15 @@ mips_print_float_branch_condition (FILE *file, enum rtx_code code, int letter) } } -/* Implement the PRINT_OPERAND macro. The MIPS-specific operand codes are: +/* Implement TARGET_PRINT_OPERAND_PUNCT_VALID_P. */ + +static bool +mips_print_operand_punct_valid_p (unsigned char code) +{ + return mips_print_operand_punct[code]; +} + +/* Implement TARGET_PRINT_OPERAND. The MIPS-specific operand codes are: 'X' Print CONST_INT OP in hexadecimal format. 'x' Print the low 16 bits of CONST_INT OP in hexadecimal format. @@ -7470,12 +7478,12 @@ mips_print_float_branch_condition (FILE *file, enum rtx_code code, int letter) 'M' Print high-order register in a double-word register operand. 'z' Print $0 if OP is zero, otherwise print OP normally. */ -void +static void mips_print_operand (FILE *file, rtx op, int letter) { enum rtx_code code; - if (PRINT_OPERAND_PUNCT_VALID_P (letter)) + if (mips_print_operand_punct_valid_p (letter)) { mips_print_operand_punctuation (file, letter); return; @@ -7617,9 +7625,9 @@ mips_print_operand (FILE *file, rtx op, int letter) } } -/* Output address operand X to FILE. */ +/* Implement TARGET_PRINT_OPERAND_ADDRESS. */ -void +static void mips_print_operand_address (FILE *file, rtx x) { struct mips_address_info addr; @@ -16377,6 +16385,13 @@ void mips_function_profiler (FILE *file) #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK #define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true +#undef TARGET_PRINT_OPERAND +#define TARGET_PRINT_OPERAND mips_print_operand +#undef TARGET_PRINT_OPERAND_ADDRESS +#define TARGET_PRINT_OPERAND_ADDRESS mips_print_operand_address +#undef TARGET_PRINT_OPERAND_PUNCT_VALID_P +#define TARGET_PRINT_OPERAND_PUNCT_VALID_P mips_print_operand_punct_valid_p + #undef TARGET_SETUP_INCOMING_VARARGS #define TARGET_SETUP_INCOMING_VARARGS mips_setup_incoming_varargs #undef TARGET_STRICT_ARGUMENT_NAMING diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index dcac46b..5ecd59d 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -2704,10 +2704,6 @@ typedef struct mips_args { #define ALL_COP_ADDITIONAL_REGISTER_NAMES -#define PRINT_OPERAND mips_print_operand -#define PRINT_OPERAND_PUNCT_VALID_P(CODE) mips_print_operand_punct[CODE] -#define PRINT_OPERAND_ADDRESS mips_print_operand_address - #define DBR_OUTPUT_SEQEND(STREAM) \ do \ { \ @@ -3060,7 +3056,6 @@ struct mips_asm_switch { extern const enum reg_class mips_regno_to_class[]; extern bool mips_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER]; -extern bool mips_print_operand_punct[256]; extern const char *current_function_file; /* filename current function is in */ extern int num_source_filenames; /* current .file # */ extern struct mips_asm_switch mips_noreorder; |