Commit 5e50b799 by Anatoly Sokolov Committed by Anatoly Sokolov

ia64.h (PRINT_OPERAND, [...]): Remove macros.

	* config/ia64/ia64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
	PRINT_OPERAND_PUNCT_VALID_P): Remove macros.
	* config/ia64/ia64-protos.h (ia64_print_operand,
	ia64_print_operand_address): Remove.
	* config/ia64/ia64.c (TARGET_PRINT_OPERAND,
	TARGET_PRINT_OPERAND_ADDRESS, TARGET_PRINT_OPERAND_PUNCT_VALID_P):
	Define.
	(ia64_print_operand_punct_valid_p): New function.
	(ia64_print_operand, ia64_print_operand_address): Make static.

From-SVN: r181932
parent f5ca3c34
2011-12-02 Anatoly Sokolov <aesok@post.ru>
* config/ia64/ia64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macros.
* config/ia64/ia64-protos.h (ia64_print_operand,
ia64_print_operand_address): Remove.
* config/ia64/ia64.c (TARGET_PRINT_OPERAND,
TARGET_PRINT_OPERAND_ADDRESS, TARGET_PRINT_OPERAND_PUNCT_VALID_P):
Define.
(ia64_print_operand_punct_valid_p): New function.
(ia64_print_operand, ia64_print_operand_address): Make static.
2011-12-02 Michael Meissner <meissner@the-meissners.org> 2011-12-02 Michael Meissner <meissner@the-meissners.org>
PR target/51390 PR target/51390
...@@ -58,8 +58,6 @@ extern int ia64_direct_return (void); ...@@ -58,8 +58,6 @@ extern int ia64_direct_return (void);
extern bool ia64_expand_load_address (rtx, rtx); extern bool ia64_expand_load_address (rtx, rtx);
extern int ia64_hard_regno_rename_ok (int, int); extern int ia64_hard_regno_rename_ok (int, int);
extern void ia64_print_operand_address (FILE *, rtx);
extern void ia64_print_operand (FILE *, rtx, int);
extern enum reg_class ia64_secondary_reload_class (enum reg_class, extern enum reg_class ia64_secondary_reload_class (enum reg_class,
enum machine_mode, rtx); enum machine_mode, rtx);
extern const char *get_bundle_name (int); extern const char *get_bundle_name (int);
......
...@@ -234,6 +234,10 @@ static void ia64_output_function_prologue (FILE *, HOST_WIDE_INT); ...@@ -234,6 +234,10 @@ static void ia64_output_function_prologue (FILE *, HOST_WIDE_INT);
static void ia64_output_function_epilogue (FILE *, HOST_WIDE_INT); static void ia64_output_function_epilogue (FILE *, HOST_WIDE_INT);
static void ia64_output_function_end_prologue (FILE *); static void ia64_output_function_end_prologue (FILE *);
static void ia64_print_operand (FILE *, rtx, int);
static void ia64_print_operand_address (FILE *, rtx);
static bool ia64_print_operand_punct_valid_p (unsigned char code);
static int ia64_issue_rate (void); static int ia64_issue_rate (void);
static int ia64_adjust_cost_2 (rtx, int, rtx, int, dw_t); static int ia64_adjust_cost_2 (rtx, int, rtx, int, dw_t);
static void ia64_sched_init (FILE *, int, int); static void ia64_sched_init (FILE *, int, int);
...@@ -383,6 +387,13 @@ static const struct attribute_spec ia64_attribute_table[] = ...@@ -383,6 +387,13 @@ static const struct attribute_spec ia64_attribute_table[] =
#undef TARGET_ASM_FUNCTION_EPILOGUE #undef TARGET_ASM_FUNCTION_EPILOGUE
#define TARGET_ASM_FUNCTION_EPILOGUE ia64_output_function_epilogue #define TARGET_ASM_FUNCTION_EPILOGUE ia64_output_function_epilogue
#undef TARGET_PRINT_OPERAND
#define TARGET_PRINT_OPERAND ia64_print_operand
#undef TARGET_PRINT_OPERAND_ADDRESS
#define TARGET_PRINT_OPERAND_ADDRESS ia64_print_operand_address
#undef TARGET_PRINT_OPERAND_PUNCT_VALID_P
#define TARGET_PRINT_OPERAND_PUNCT_VALID_P ia64_print_operand_punct_valid_p
#undef TARGET_IN_SMALL_DATA_P #undef TARGET_IN_SMALL_DATA_P
#define TARGET_IN_SMALL_DATA_P ia64_in_small_data_p #define TARGET_IN_SMALL_DATA_P ia64_in_small_data_p
...@@ -4966,7 +4977,7 @@ ia64_output_dwarf_dtprel (FILE *file, int size, rtx x) ...@@ -4966,7 +4977,7 @@ ia64_output_dwarf_dtprel (FILE *file, int size, rtx x)
/* ??? Do we need this? It gets used only for 'a' operands. We could perhaps /* ??? Do we need this? It gets used only for 'a' operands. We could perhaps
also call this from ia64_print_operand for memory addresses. */ also call this from ia64_print_operand for memory addresses. */
void static void
ia64_print_operand_address (FILE * stream ATTRIBUTE_UNUSED, ia64_print_operand_address (FILE * stream ATTRIBUTE_UNUSED,
rtx address ATTRIBUTE_UNUSED) rtx address ATTRIBUTE_UNUSED)
{ {
...@@ -4997,7 +5008,7 @@ ia64_print_operand_address (FILE * stream ATTRIBUTE_UNUSED, ...@@ -4997,7 +5008,7 @@ ia64_print_operand_address (FILE * stream ATTRIBUTE_UNUSED,
Linux kernel. Linux kernel.
v Print vector constant value as an 8-byte integer value. */ v Print vector constant value as an 8-byte integer value. */
void static void
ia64_print_operand (FILE * file, rtx x, int code) ia64_print_operand (FILE * file, rtx x, int code)
{ {
const char *str; const char *str;
...@@ -5284,6 +5295,14 @@ ia64_print_operand (FILE * file, rtx x, int code) ...@@ -5284,6 +5295,14 @@ ia64_print_operand (FILE * file, rtx x, int code)
return; return;
} }
/* Worker function for TARGET_PRINT_OPERAND_PUNCT_VALID_P. */
static bool
ia64_print_operand_punct_valid_p (unsigned char code)
{
return (code == '+' || code == ',');
}
/* Compute a (partial) cost for rtx X. Return true if the complete /* Compute a (partial) cost for rtx X. Return true if the complete
cost has been computed, and false if subexpressions should be cost has been computed, and false if subexpressions should be
......
...@@ -1512,27 +1512,6 @@ do { \ ...@@ -1512,27 +1512,6 @@ do { \
{ "loc79", LOC_REG (79) }, \ { "loc79", LOC_REG (79) }, \
} }
/* A C compound statement to output to stdio stream STREAM the assembler syntax
for an instruction operand X. X is an RTL expression. */
#define PRINT_OPERAND(STREAM, X, CODE) \
ia64_print_operand (STREAM, X, CODE)
/* A C expression which evaluates to true if CODE is a valid punctuation
character for use in the `PRINT_OPERAND' macro. */
/* ??? Keep this around for now, as we might need it later. */
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) \
((CODE) == '+' || (CODE) == ',')
/* A C compound statement to output to stdio stream STREAM the assembler syntax
for an instruction operand that is a memory reference whose address is X. X
is an RTL expression. */
#define PRINT_OPERAND_ADDRESS(STREAM, X) \
ia64_print_operand_address (STREAM, X)
/* If defined, C string expressions to be used for the `%R', `%L', `%U', and /* If defined, C string expressions to be used for the `%R', `%L', `%U', and
`%I' options of `asm_fprintf' (see `final.c'). */ `%I' options of `asm_fprintf' (see `final.c'). */
......
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