aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2010-06-08 00:21:53 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2010-06-08 00:21:53 +0000
commit6e9e0126dbd711899789da8c9e11cc6b54270774 (patch)
treee143c767a3715e730bbc941d585b7431e57d53a9 /gcc/config/mips/mips.c
parent25667c7d5b6488ba8160ad86f9836d35fd87502b (diff)
downloadgcc-6e9e0126dbd711899789da8c9e11cc6b54270774.zip
gcc-6e9e0126dbd711899789da8c9e11cc6b54270774.tar.gz
gcc-6e9e0126dbd711899789da8c9e11cc6b54270774.tar.bz2
mips-protos.h (mips_print_operand): Delete.
* 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. From-SVN: r160415
Diffstat (limited to 'gcc/config/mips/mips.c')
-rw-r--r--gcc/config/mips/mips.c27
1 files changed, 21 insertions, 6 deletions
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