------- Additional Comments From belyshev at depni dot sinp dot msu dot ru  
2005-08-19 19:51 -------
gcse after reload may move loads from stack around stack pointer changes. here
is simple workaround, it is supposed to prevent gcse after reload from touching
expressions containing stack pointer at all.

Index: cse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cse.c,v
retrieving revision 1.359
diff -u -r1.359 cse.c
--- cse.c       29 Jul 2005 05:57:37 -0000      1.359
+++ cse.c       19 Aug 2005 19:33:49 -0000
@@ -2221,6 +2221,14 @@
                return 0;
              }
          }
+       else
+         {
+           if (x == stack_pointer_rtx)
+             {
+               *do_not_record_p = 1;
+               return 0;
+             }
+         }
 
        hash += ((unsigned int) REG << 7);
         hash += (have_reg_qty ? (unsigned) REG_QTY (regno) : regno);


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453

Reply via email to