visium.h (PRINT_OPERAND): Delete.
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 9 Nov 2015 22:53:31 +0000 (22:53 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 9 Nov 2015 22:53:31 +0000 (22:53 +0000)
* config/visium/visium.h (PRINT_OPERAND): Delete.
(PRINT_OPERAND_PUNCT_VALID_P): Likewise.
(PRINT_OPERAND_ADDRESS): Likewise.
* config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
to...
(visium_print_operand_punct_valid_p): ...this.  New function.
(TARGET_PRINT_OPERAND): Define to...
(print_operand): Rename to...
(visium_print_operand): ...this.
(TARGET_PRINT_OPERAND_ADDRESS): Define to...
(visium_output_address): Rename to...
(visium_print_operand_address): ...this.
(print_operand_address): Delete.

From-SVN: r230060

gcc/ChangeLog
gcc/config/visium/visium.c
gcc/config/visium/visium.h

index 3c764de4a89b81c2d68074e873b2f1bf6baccf8c..622f8602bafb0b54ea0482ecd97c6e5602ad64ff 100644 (file)
@@ -1,3 +1,19 @@
+2015-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/visium/visium.h (PRINT_OPERAND): Delete.
+       (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
+       (PRINT_OPERAND_ADDRESS): Likewise.
+       * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
+       to...
+       (visium_print_operand_punct_valid_p): ...this.  New function.
+       (TARGET_PRINT_OPERAND): Define to...
+       (print_operand): Rename to...
+       (visium_print_operand): ...this.
+       (TARGET_PRINT_OPERAND_ADDRESS): Define to...
+       (visium_output_address): Rename to...
+       (visium_print_operand_address): ...this.
+       (print_operand_address): Delete.
+
 2015-11-09  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR middle-end/68259
index d1b580ebc44d5ffb86ce1b7eb480f1aa9199dfa9..0bf275c454aa5541bf40da875d1980290edaeb27 100644 (file)
@@ -99,7 +99,6 @@ int visium_indent_opcode = 0;
    given how unlikely it is to have a long branch in a leaf function.  */
 static unsigned int long_branch_regnum = 31;
 
-static void visium_output_address (FILE *, enum machine_mode, rtx);
 static tree visium_handle_interrupt_attr (tree *, tree, tree, int, bool *);
 static inline bool current_function_saves_fp (void);
 static inline bool current_function_saves_lr (void);
@@ -157,6 +156,10 @@ static bool visium_legitimate_constant_p (enum machine_mode, rtx);
 
 static bool visium_legitimate_address_p (enum machine_mode, rtx, bool);
 
+static bool visium_print_operand_punct_valid_p (unsigned char);
+static void visium_print_operand (FILE *, rtx, int);
+static void visium_print_operand_address (FILE *, machine_mode, rtx);
+
 static void visium_conditional_register_usage (void);
 
 static rtx visium_legitimize_address (rtx, rtx, enum machine_mode);
@@ -227,6 +230,13 @@ static unsigned int visium_reorg (void);
 #undef  TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P visium_legitimate_address_p
 
+#undef TARGET_PRINT_OPERAND_PUNCT_VALID_P
+#define TARGET_PRINT_OPERAND_PUNCT_VALID_P visium_print_operand_punct_valid_p
+#undef TARGET_PRINT_OPERAND
+#define TARGET_PRINT_OPERAND visium_print_operand
+#undef TARGET_PRINT_OPERAND_ADDRESS
+#define TARGET_PRINT_OPERAND_ADDRESS visium_print_operand_address
+
 #undef  TARGET_ATTRIBUTE_TABLE
 #define TARGET_ATTRIBUTE_TABLE visium_attribute_table
 
@@ -3038,12 +3048,19 @@ output_cbranch (rtx label, enum rtx_code code, enum machine_mode cc_mode,
   return output_branch (label, cond, insn);
 }
 
-/* Helper function for PRINT_OPERAND (STREAM, X, CODE).  Output to stdio
-   stream FILE the assembler syntax for an instruction operand OP subject
-   to the modifier LETTER.  */
+/* Implement TARGET_PRINT_OPERAND_PUNCT_VALID_P.  */
 
-void
-print_operand (FILE *file, rtx op, int letter)
+static bool
+visium_print_operand_punct_valid_p (unsigned char code)
+{
+  return code == '#';
+}
+
+/* Implement TARGET_PRINT_OPERAND.  Output to stdio stream FILE the assembler
+   syntax for an instruction operand OP subject to the modifier LETTER.  */
+
+static void
+visium_print_operand (FILE *file, rtx op, int letter)
 {
   switch (letter)
     {
@@ -3104,7 +3121,7 @@ print_operand (FILE *file, rtx op, int letter)
       break;
 
     case MEM:
-      visium_output_address (file, GET_MODE (op), XEXP (op, 0));
+      visium_print_operand_address (file, GET_MODE (op), XEXP (op, 0));
       break;
 
     case CONST_INT:
@@ -3116,7 +3133,7 @@ print_operand (FILE *file, rtx op, int letter)
       break;
 
     case HIGH:
-      print_operand (file, XEXP (op, 1), letter);
+      visium_print_operand (file, XEXP (op, 1), letter);
       break;
 
     default:
@@ -3124,11 +3141,12 @@ print_operand (FILE *file, rtx op, int letter)
     }
 }
 
-/* Output to stdio stream FILE the assembler syntax for an instruction operand
-   that is a memory reference in MODE and whose address is ADDR.  */
+/* Implement TARGET_PRINT_OPERAND_ADDRESS.  Output to stdio stream FILE the
+   assembler syntax for an instruction operand that is a memory reference
+   whose address is ADDR.  */
 
 static void
-visium_output_address (FILE *file, enum machine_mode mode, rtx addr)
+visium_print_operand_address (FILE *file, enum machine_mode mode, rtx addr)
 {
   switch (GET_CODE (addr))
     {
@@ -3205,16 +3223,6 @@ visium_output_address (FILE *file, enum machine_mode mode, rtx addr)
     }
 }
 
-/* Helper function for PRINT_OPERAND_ADDRESS (STREAM, X).  Output to stdio
-   stream FILE the assembler syntax for an instruction operand that is a
-   memory reference whose address is ADDR.  */
-
-void
-print_operand_address (FILE *file, rtx addr)
-{
-  visium_output_address (file, QImode, addr);
-}
-
 /* The Visium stack frames look like:
 
               Before call                      After call
index c5b65b4be3470b7fe232c5f3a55916b036fd34e4..9b92a74380be20537eed0ef0404072dec5dc2763 100644 (file)
@@ -1477,49 +1477,6 @@ do                                                                       \
 #define ADDITIONAL_REGISTER_NAMES \
   {{"r22", HARD_FRAME_POINTER_REGNUM}, {"r23", STACK_POINTER_REGNUM}}
 
-/* `PRINT_OPERAND (STREAM, X, CODE)'
-
-   A C compound statement to output to stdio stream STREAM the
-   assembler syntax for an instruction operand X.  X is an RTL
-   expression.
-
-   CODE is a value that can be used to specify one of several ways of
-   printing the operand.  It is used when identical operands must be
-   printed differently depending on the context.  CODE comes from the
-   `%' specification that was used to request printing of the operand.
-   If the specification was just `%DIGIT' then CODE is 0; if the
-   specification was `%LTR DIGIT' then CODE is the ASCII code for LTR.
-
-   If X is a register, this macro should print the register's name.
-   The names can be found in an array `reg_names' whose type is `char
-   *[]'.  `reg_names' is initialized from `REGISTER_NAMES'.
-
-   When the machine description has a specification `%PUNCT' (a `%'
-   followed by a punctuation character), this macro is called with a
-   null pointer for X and the punctuation character for CODE. */
-#define PRINT_OPERAND(STREAM, X, CODE) print_operand (STREAM, X, CODE)
-
-/* `PRINT_OPERAND_PUNCT_VALID_P (CODE)'
-
-   A C expression which evaluates to true if CODE is a valid
-   punctuation character for use in the `PRINT_OPERAND' macro.  If
-   `PRINT_OPERAND_PUNCT_VALID_P' is not defined, it means that no
-   punctuation characters (except for the standard one, `%') are used */
-#define PRINT_OPERAND_PUNCT_VALID_P(CODE) ((CODE) == '#')
-
-/* `PRINT_OPERAND_ADDRESS (STREAM, X)'
-
-   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.
-
-   On some machines, the syntax for a symbolic address depends on the
-   section that the address refers to.  On these machines, define the
-   macro `ENCODE_SECTION_INFO' to store the information into the
-   `symbol_ref', and then check for it here. */
-#define PRINT_OPERAND_ADDRESS(STREAM, ADDR) \
-  print_operand_address (STREAM, ADDR)
-
 /* `REGISTER_PREFIX'
    `LOCAL_LABEL_PREFIX'
    `USER_LABEL_PREFIX'