This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: RFA reload.c patch


> OK?

Got an OK from rth on this revised patch (turns out I'd missed that
memory_operand calls general_operand which calls
GO_IF_LEGITIMATE_ADDRESS.

Bootstrapped and regtested on x86-linux and checked into mainline.

-eric

-- 
Eric Christopher <echristo@redhat.com>

2003-11-11  Eric Christopher  <echristo@redhat.com>
 
        * reload1.c (reload): Verify that addresses for
        reg_equiv_* are valid for the architecture.

Index: reload1.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/reload1.c,v
retrieving revision 1.408
diff -u -p -w -r1.408 reload1.c
--- reload1.c	27 Oct 2003 10:52:46 -0000	1.408
+++ reload1.c	12 Nov 2003 07:21:42 -0000
@@ -774,6 +774,12 @@ reload (rtx first, int global)
 			    = force_const_mem (GET_MODE (SET_DEST (set)), x);
 			  if (!reg_equiv_memory_loc[i])
 			    continue;
+			  /* As above. Later passes of reload assume that
+			     all addresses found in the reg_equiv_* arrays
+			     were originally legitimate.  */
+			  if (!memory_operand (reg_equiv_memory_loc[i], VOIDmode))
+			    reg_equiv_memory_loc[i] = NULL_RTX;
+
 			}
 		    }
 		  else



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]