Remove inconsistent code and macro define in score backend,
Use gcc default code instead.

--liqin

ChangeLog:
2012-09-06  Chen Liqin  <liqin....@gmail.com>

        * config/score/score.c : Remove TARGET_LEGITIMIZE_ADDRESS define
        and score_legitimize_address function, use compiler default code 
instead.

Index: gcc/config/score/score.c
===================================================================
--- gcc/config/score/score.c    (revision 191002)
+++ gcc/config/score/score.c    (working copy)
@@ -120,9 +120,6 @@
 #undef TARGET_OPTION_OVERRIDE
 #define TARGET_OPTION_OVERRIDE          score_option_override

-#undef TARGET_LEGITIMIZE_ADDRESS
-#define TARGET_LEGITIMIZE_ADDRESS      score_legitimize_address
-
 #undef  TARGET_SCHED_ISSUE_RATE
 #define TARGET_SCHED_ISSUE_RATE         score_issue_rate

@@ -541,30 +538,6 @@
   return gen_rtx_LO_SUM (Pmode, high, addr);
 }

-/* This function is used to implement LEGITIMIZE_ADDRESS.  If X can
-   be legitimized in a way that the generic machinery might not expect,
-   return the new address.  */
-static rtx
-score_legitimize_address (rtx x)
-{
-  enum score_symbol_type symbol_type;
-
-  if (score_symbolic_constant_p (x, &symbol_type)
-      && symbol_type == SYMBOL_GENERAL)
-    return score_split_symbol (0, x);
-
-  if (GET_CODE (x) == PLUS
-      && GET_CODE (XEXP (x, 1)) == CONST_INT)
-    {
-      rtx reg = XEXP (x, 0);
-      if (!score_valid_base_register_p (reg, 0))
-        reg = copy_to_mode_reg (Pmode, reg);
-      return score_add_offset (reg, INTVAL (XEXP (x, 1)));
-    }
-
-  return x;
-}
-
 /* Fill INFO with information about a single argument.  CUM is the
    cumulative state for earlier arguments.  MODE is the mode of this
    argument and TYPE is its type (if known).  NAMED is true if this

Reply via email to