OSDN Git Service

pass MEM reference to find_reloads_address
authoralehotsky <alehotsky@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Jun 2002 01:41:53 +0000 (01:41 +0000)
committeralehotsky <alehotsky@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Jun 2002 01:41:53 +0000 (01:41 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54604 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/reload.c

index 9f6d900..ba76060 100644 (file)
@@ -1,3 +1,9 @@
+2002-06-13  Alan Lehotsky  <apl@alum.mit.edu>
+
+       * reload.c (get_secondary_mem,find_reloads_address,
+       find_reloads_address_1): Pass reference to MEM to find_reloads_address
+       so that LEGITIMIZE_RELOAD_ADDRESS will be called.
+       
 2002-06-13  Jessica Han  <jessica@cup.hp.com>
 
        * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
index 6a18245..72e1674 100644 (file)
@@ -644,7 +644,7 @@ get_secondary_mem (x, mode, opnum, type)
               : type == RELOAD_FOR_OUTPUT ? RELOAD_FOR_OUTPUT_ADDRESS
               : RELOAD_OTHER);
 
-      find_reloads_address (mode, (rtx*) 0, XEXP (loc, 0), &XEXP (loc, 0),
+      find_reloads_address (mode, &loc, XEXP (loc, 0), &XEXP (loc, 0),
                            opnum, type, 0, 0);
     }
 
@@ -4594,9 +4594,9 @@ find_reloads_address (mode, memrefloc, ad, loc, opnum, type, ind_levels, insn)
              tem = make_memloc (ad, regno);
              if (! strict_memory_address_p (GET_MODE (tem), XEXP (tem, 0)))
                {
-                 find_reloads_address (GET_MODE (tem), (rtx*) 0, XEXP (tem, 0),
-                                       &XEXP (tem, 0), opnum, ADDR_TYPE (type),
-                                       ind_levels, insn);
+                 find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
+                                       &XEXP (tem, 0), opnum,
+                                       ADDR_TYPE (type), ind_levels, insn);
                }
              /* We can avoid a reload if the register's equivalent memory
                 expression is valid as an indirect memory address.
@@ -5324,7 +5324,7 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
                       We can't use ADDR_TYPE (type) here, because we need to
                       write back the value after reading it, hence we actually
                       need two registers.  */
-                   find_reloads_address (GET_MODE (tem), 0, XEXP (tem, 0),
+                   find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
                                          &XEXP (tem, 0), opnum,
                                          RELOAD_OTHER,
                                          ind_levels, insn);