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]

[PATCH,rs6000] fix up dataflow branch merge issue


The following patch:

2006-12-08  Mark Shinwell  <shinwell@codesourcery.com>

	* recog.c (mode_dependent_address_p): Identify pre-increment,
	pre-decrement, post-increment and post-decrement addressing as always
	being mode-dependent.
	...lots backend changes

removed PRE_INC and PRE_DEC cases from rs6000_mode_dependent_address,
since those cases were pushed into recog.  However, the dataflow branch
merge inadvertently restored those cases.

This change shouldn't cause any issues, as PRE_INC and PRE_DEC shouldn't
reach MODE_DEPENDENT_ADDRESS thanks to the above change.  We should go
ahead and remove those cases so some poor soul doesn't spend ages trying
to figure out why the rs6000 backend does things differently from
everybody else, though. :)  Fixed with the patch below.

Tested on powerpc-none-linux-gnuspe.  OK to commit?

-Nathan

2008-06-05  Nathan Froyd  <froydnj@codesourcery.com>

	* config/rs6000/rs6000.c (rs6000_mode_dependent_address): Remove
	PRE_INC and PRE_DEC cases.

Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c	(revision 136357)
+++ gcc/config/rs6000/rs6000.c	(working copy)
@@ -4320,8 +4320,7 @@ rs6000_mode_dependent_address (rtx addr)
     case LO_SUM:
       return true;
 
-    case PRE_INC:
-    case PRE_DEC:
+    /* Auto-increment cases are now treated generically in recog.c.  */
     case PRE_MODIFY:
       return TARGET_UPDATE;
 


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