OSDN Git Service

* config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions.
authoraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Sep 2010 18:29:36 +0000 (18:29 +0000)
committeraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Sep 2010 18:29:36 +0000 (18:29 +0000)
(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
* config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164115 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/m32r/m32r.c
gcc/config/m32r/m32r.h

index 5e2b585..377a64a 100644 (file)
@@ -1,3 +1,9 @@
+2010-09-09  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions.
+       (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+       * config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+
 2010-09-09  Matthias Klose  <doko@ubuntu.com>
 
        PR bootstrap/43847
index 5fff1cc..b1175df 100644 (file)
@@ -67,6 +67,7 @@ static void  init_reg_tables (void);
 static void  block_move_call (rtx, rtx, rtx);
 static int   m32r_is_insn (rtx);
 static rtx   m32r_legitimize_address (rtx, rtx, enum machine_mode);
+static bool  m32r_mode_dependent_address_p (const_rtx);
 static tree  m32r_handle_model_attribute (tree *, tree, tree, int, bool *);
 static void  m32r_print_operand (FILE *, rtx, int);
 static void  m32r_print_operand_address (FILE *, rtx);
@@ -117,6 +118,8 @@ static const struct attribute_spec m32r_attribute_table[] =
 
 #undef TARGET_LEGITIMIZE_ADDRESS
 #define TARGET_LEGITIMIZE_ADDRESS m32r_legitimize_address
+#undef TARGET_MODE_DEPENDENT_ADDRESS_P
+#define TARGET_MODE_DEPENDENT_ADDRESS_P m32r_mode_dependent_address_p
 
 #undef  TARGET_ASM_ALIGNED_HI_OP
 #define TARGET_ASM_ALIGNED_HI_OP "\t.hword\t"
@@ -2043,6 +2046,17 @@ m32r_legitimize_address (rtx x, rtx orig_x ATTRIBUTE_UNUSED,
   else
     return x;
 }
+
+/* Worker function for TARGET_MODE_DEPENDENT_ADDRESS_P.  */
+
+static bool
+m32r_mode_dependent_address_p (const_rtx addr)
+{
+  if (GET_CODE (addr) == LO_SUM)
+    return true;
+
+  return false;
+}
 \f
 /* Nested function support.  */
 
index 66ff1ec..9aa354a 100644 (file)
@@ -1048,16 +1048,6 @@ L2:     .word STATIC
        goto ADDR;                                              \
     }                                                          \
   while (0)
-
-/* Go to LABEL if ADDR (a legitimate address expression)
-   has an effect that depends on the machine mode it is used for.  */
-#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL)              \
-  do                                                           \
-    {                                                          \
-      if (GET_CODE (ADDR) == LO_SUM)                           \
-       goto LABEL;                                             \
-    }                                                          \
-  while (0)
 \f
 /* Condition code usage.  */