Patchwork [V850] Hookize OUTPUT_ADDR_CONST_EXTRA

login
register
mail settings
Submitter Anatoly Sokolov
Date March 16, 2011, 10:04 p.m.
Message ID <501986597.20110317010420@post.ru>
Download mbox | patch
Permalink /patch/87311/
State New
Headers show

Comments

Anatoly Sokolov - March 16, 2011, 10:04 p.m.
Hello.

  This patch removes obsolete OUTPUT_ADDR_CONST_EXTRA macro from V850 back 
end in the GCC and introduces equivalent TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA 
target hook.


  Regression-tested on v850-unknown-elf.
  
  OK to install?

        * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
        * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
        * config/v850/v850.c (v850_output_addr_const_extra): Mace static.
        Change return type to bool.
        (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.


Anatoly.
Nick Clifton - March 17, 2011, 11:17 a.m.
Hi Anatoly,

>          * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
>          * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
>          * config/v850/v850.c (v850_output_addr_const_extra): Mace static.
>          Change return type to bool.
>          (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.

Approved - please apply.

Cheers
   Nick

Patch

Index: gcc/config/v850/v850.c
===================================================================
--- gcc/config/v850/v850.c      (revision 170852)
+++ gcc/config/v850/v850.c      (working copy)
@@ -795,13 +795,13 @@ 
    the truncate and just emit the difference of the two labels.  The
    .hword directive will automatically handle the truncation for us.
    
-   Returns 1 if rtx was handled, 0 otherwise.  */
+   Returns true if rtx was handled, false otherwise.  */
 
-int
+static bool
 v850_output_addr_const_extra (FILE * file, rtx x)
 {
   if (GET_CODE (x) != TRUNCATE)
-    return 0;
+    return false;
 
   x = XEXP (x, 0);
 
@@ -814,10 +814,10 @@ 
       && GET_CODE (XEXP (x, 0)) == LABEL_REF
       && GET_CODE (XEXP (XEXP (x, 0), 0)) == CODE_LABEL
       && INSN_DELETED_P (XEXP (XEXP (x, 0), 0)))
-    return 1;
+    return true;
 
   output_addr_const (file, x);
-  return 1;
+  return true;
 }
 
 /* Return appropriate code to load up a 1, 2, or 4 integer/floating
@@ -3138,6 +3138,9 @@ 
 #undef  TARGET_PRINT_OPERAND_PUNCT_VALID_P
 #define TARGET_PRINT_OPERAND_PUNCT_VALID_P v850_print_operand_punct_valid_p
 
+#undef TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
+#define TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA v850_output_addr_const_extra 
+
 #undef  TARGET_ATTRIBUTE_TABLE
 #define TARGET_ATTRIBUTE_TABLE v850_attribute_table
 
Index: gcc/config/v850/v850.h
===================================================================
--- gcc/config/v850/v850.h      (revision 170852)
+++ gcc/config/v850/v850.h      (working copy)
@@ -748,10 +748,6 @@ 
 #undef  USER_LABEL_PREFIX
 #define USER_LABEL_PREFIX "_"
 
-#define OUTPUT_ADDR_CONST_EXTRA(FILE, X, FAIL)  \
-  if (! v850_output_addr_const_extra (FILE, X)) \
-     goto FAIL
-
 /* This says how to output the assembler to define a global
    uninitialized but not common symbol.  */
 
Index: gcc/config/v850/v850-protos.h
===================================================================
--- gcc/config/v850/v850-protos.h       (revision 170852)
+++ gcc/config/v850/v850-protos.h       (working copy)
@@ -33,7 +33,6 @@ 
 extern void   v850_init_expanders           (void);
 
 #ifdef RTX_CODE
-extern int    v850_output_addr_const_extra  (FILE *, rtx);
 extern rtx    v850_return_addr              (int);
 extern const char *output_move_single       (rtx *);
 extern void   notice_update_cc              (rtx, rtx);