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
This commit is contained in:
parent
f5ca3c3408
commit
5e50b799a0
@ -1,3 +1,15 @@
|
||||
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>
|
||||
|
||||
PR target/51390
|
||||
|
@ -58,8 +58,6 @@ extern int ia64_direct_return (void);
|
||||
extern bool ia64_expand_load_address (rtx, rtx);
|
||||
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,
|
||||
enum machine_mode, rtx);
|
||||
extern const char *get_bundle_name (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_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_adjust_cost_2 (rtx, int, rtx, int, dw_t);
|
||||
static void ia64_sched_init (FILE *, int, int);
|
||||
@ -383,6 +387,13 @@ static const struct attribute_spec ia64_attribute_table[] =
|
||||
#undef TARGET_ASM_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
|
||||
#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)
|
||||
/* ??? Do we need this? It gets used only for 'a' operands. We could perhaps
|
||||
also call this from ia64_print_operand for memory addresses. */
|
||||
|
||||
void
|
||||
static void
|
||||
ia64_print_operand_address (FILE * stream ATTRIBUTE_UNUSED,
|
||||
rtx address ATTRIBUTE_UNUSED)
|
||||
{
|
||||
@ -4997,7 +5008,7 @@ ia64_print_operand_address (FILE * stream ATTRIBUTE_UNUSED,
|
||||
Linux kernel.
|
||||
v Print vector constant value as an 8-byte integer value. */
|
||||
|
||||
void
|
||||
static void
|
||||
ia64_print_operand (FILE * file, rtx x, int code)
|
||||
{
|
||||
const char *str;
|
||||
@ -5284,6 +5295,14 @@ ia64_print_operand (FILE * file, rtx x, int code)
|
||||
|
||||
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
|
||||
cost has been computed, and false if subexpressions should be
|
||||
|
@ -1512,27 +1512,6 @@ do { \
|
||||
{ "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
|
||||
`%I' options of `asm_fprintf' (see `final.c'). */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user