i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
authorUros Bizjak <ubizjak@gmail.com>
Fri, 17 Apr 2015 17:59:24 +0000 (19:59 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 17 Apr 2015 17:59:24 +0000 (19:59 +0200)
* config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
* config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
* config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.

From-SVN: r222193

gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h

index e6501e39a9bfcb1c9cea25c4f88bd9eb882ac18a..4fbb70bc07402f71a1e24036cf89b792390f4b1e 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
+       * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
+       * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
+
 2015-04-17  Andreas Tobler  <andreast@gcc.gnu.org>
 
        PR target/65535
index 39624270638f211c20be98397cd2295c6bf11c70..2c90c2c5ccde92a1816dff34c2372a0c81e84a91 100644 (file)
@@ -67,8 +67,6 @@ extern bool ix86_expand_set_or_movmem (rtx, rtx, rtx, rtx, rtx, rtx,
 extern bool constant_address_p (rtx);
 extern bool legitimate_pic_operand_p (rtx);
 extern bool legitimate_pic_address_disp_p (rtx);
-extern bool ix86_legitimize_reload_address (rtx, machine_mode,
-                                           int, int, int);
 extern void print_reg (rtx, int, FILE*);
 extern void ix86_print_operand (FILE *, rtx, int);
 
index 72e6bc27f6219a596822f5d93fe6827b0f8b08d3..da6918624afaf1dfab821891f8a883bf0b700971 100644 (file)
@@ -13320,62 +13320,6 @@ legitimate_pic_address_disp_p (rtx disp)
   return false;
 }
 
-/* Our implementation of LEGITIMIZE_RELOAD_ADDRESS.  Returns a value to
-   replace the input X, or the original X if no replacement is called for.
-   The output parameter *WIN is 1 if the calling macro should goto WIN,
-   0 if it should not.  */
-
-bool
-ix86_legitimize_reload_address (rtx x, machine_mode, int opnum, int type,
-                               int)
-{
-  /* Reload can generate:
-
-     (plus:DI (plus:DI (unspec:DI [(const_int 0 [0])] UNSPEC_TP)
-                      (reg:DI 97))
-             (reg:DI 2 cx))
-
-     This RTX is rejected from ix86_legitimate_address_p due to
-     non-strictness of base register 97.  Following this rejection, 
-     reload pushes all three components into separate registers,
-     creating invalid memory address RTX.
-
-     Following code reloads only the invalid part of the
-     memory address RTX.  */
-
-  if (GET_CODE (x) == PLUS
-      && REG_P (XEXP (x, 1))
-      && GET_CODE (XEXP (x, 0)) == PLUS
-      && REG_P (XEXP (XEXP (x, 0), 1)))
-    {
-      rtx base, index;
-      bool something_reloaded = false;
-
-      base = XEXP (XEXP (x, 0), 1);      
-      if (!REG_OK_FOR_BASE_STRICT_P (base))
-       {
-         push_reload (base, NULL_RTX, &XEXP (XEXP (x, 0), 1), NULL,
-                      BASE_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0,
-                      opnum, (enum reload_type) type);
-         something_reloaded = true;
-       }
-
-      index = XEXP (x, 1);
-      if (!REG_OK_FOR_INDEX_STRICT_P (index))
-       {
-         push_reload (index, NULL_RTX, &XEXP (x, 1), NULL,
-                      INDEX_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0,
-                      opnum, (enum reload_type) type);
-         something_reloaded = true;
-       }
-
-      gcc_assert (something_reloaded);
-      return true;
-    }
-
-  return false;
-}
-
 /* Determine if op is suitable RTX for an address register.
    Return naked register if a register or a register subreg is
    found, otherwise return NULL_RTX.  */
index 0dbe7b4561a4b02dfe1277941ecd95adc25932ca..fa2e6c26a0cdcd8822dfae88b6ed921212b46fe9 100644 (file)
@@ -1830,17 +1830,6 @@ typedef struct ix86_args {
 
 #define CONSTANT_ADDRESS_P(X)  constant_address_p (X)
 
-/* Try a machine-dependent way of reloading an illegitimate address
-   operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
-
-#define LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, INDL, WIN)     \
-do {                                                                   \
-  if (ix86_legitimize_reload_address ((X), (MODE), (OPNUM),            \
-                                     (int)(TYPE), (INDL)))             \
-    goto WIN;                                                          \
-} while (0)
-
 /* If defined, a C expression to determine the base term of address X.
    This macro is used in only one place: `find_base_term' in alias.c.