[CRIS] Hookize OUTPUT_ADDR_CONST_EXTRA
Anatoly Sokolov
aesok@post.ru
Sun Oct 2 17:37:00 GMT 2011
Hi.
This patch removes obsolete OUTPUT_ADDR_CONST_EXTRA macro from the CRIS
back end in the GCC and introduces equivalent TARGET_OUTPUT_ADDR_CONST_EXTRA
target hook.
Regression tested on cris-axis-elf.
OK to install?
* config/cris/m32c.c (cris_output_addr_const_extra): Make static.
(TARGET_OUTPUT_ADDR_CONST_EXTRA): Define.
* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/cris/cris-protos.h (cris_output_addr_const_extra): Remove.
Index: gcc/config/cris/cris.c
===================================================================
--- gcc/config/cris/cris.c (revision 179412)
+++ gcc/config/cris/cris.c (working copy)
@@ -113,6 +113,8 @@
static bool cris_print_operand_punct_valid_p (unsigned char code);
+static bool cris_output_addr_const_extra (FILE *, rtx);
+
static void cris_conditional_register_usage (void);
static void cris_asm_output_mi_thunk
@@ -179,6 +181,8 @@
#define TARGET_PRINT_OPERAND_ADDRESS cris_print_operand_address
#undef TARGET_PRINT_OPERAND_PUNCT_VALID_P
#define TARGET_PRINT_OPERAND_PUNCT_VALID_P cris_print_operand_punct_valid_p
+#undef TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
+#define TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA cris_output_addr_const_extra
#undef TARGET_CONDITIONAL_REGISTER_USAGE
#define TARGET_CONDITIONAL_REGISTER_USAGE cris_conditional_register_usage
@@ -3608,9 +3614,9 @@
assemble_name (file, buf);
}
-/* Worker function for OUTPUT_ADDR_CONST_EXTRA. */
+/* Worker function for TARGET_OUTPUT_ADDR_CONST_EXTRA. */
-bool
+static bool
cris_output_addr_const_extra (FILE *file, rtx xconst)
{
switch (GET_CODE (xconst))
Index: gcc/config/cris/cris.h
===================================================================
--- gcc/config/cris/cris.h (revision 179412)
+++ gcc/config/cris/cris.h (working copy)
@@ -1097,9 +1097,6 @@
/* Node: Data Output */
-#define OUTPUT_ADDR_CONST_EXTRA(STREAM, X, FAIL) \
- do { if (!cris_output_addr_const_extra (STREAM, X)) goto FAIL; } while (0)
-
#define IS_ASM_LOGICAL_LINE_SEPARATOR(C, STR) (C) == '@'
/* Node: Uninitialized Data */
Index: gcc/config/cris/cris-protos.h
===================================================================
--- gcc/config/cris/cris-protos.h (revision 179412)
+++ gcc/config/cris/cris-protos.h (working copy)
@@ -38,7 +38,6 @@
extern bool cris_store_multiple_op_p (rtx);
extern bool cris_movem_load_rest_p (rtx, int);
extern void cris_asm_output_symbol_ref (FILE *, rtx);
-extern bool cris_output_addr_const_extra (FILE *, rtx);
extern int cris_cfun_uses_pic_table (void);
extern void cris_asm_output_case_end (FILE *, int, rtx);
extern rtx cris_gen_movem_load (rtx, rtx, int);
Anatoly.
More information about the Gcc-patches
mailing list