[reload] paradoxical mems

DJ Delorie dj@redhat.com
Tue Jan 17 04:12:00 GMT 2006


> Patch is OK if bootstrapped, etc.

Passed bootstrap/check/regression.  Committed.  Thanks!

2006-01-16  DJ Delorie  <dj@redhat.com>

	* reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of
	mems.

Index: reload.c
===================================================================
--- reload.c	(revision 109791)
+++ reload.c	(working copy)
@@ -6329,6 +6329,8 @@
   /* If either argument is a constant, then modifying X can not affect IN.  */
   if (CONSTANT_P (x) || CONSTANT_P (in))
     return 0;
+  else if (GET_CODE (x) == SUBREG && GET_CODE (SUBREG_REG (x)) == MEM)
+    return refers_to_mem_for_reload_p (in);
   else if (GET_CODE (x) == SUBREG)
     {
       regno = REGNO (SUBREG_REG (x));



More information about the Gcc mailing list