Hi

This patch fixed PR 49452, thus decreased 30+ dejaGNU failures for target arm.

Tested with buildit and arm regression testing on qemu.

OK for google/gcc-4_6?

thanks
Carrot

ChangeLog
2011-09-21  Guozhi Wei  <car...@google.com>

        Backport r178995 from trunk.

        2011-09-20  Wei Guozhi  <car...@google.com>

                PR rtl-optimization/49452
                * postreload.c (reload_combine): Invalidate use information when
                across volatile insn.


Index: postreload.c
===================================================================
--- postreload.c        (revision 178989)
+++ postreload.c        (working copy)
@@ -1310,7 +1310,8 @@ reload_combine (void)
         is and then later disable any optimization that would cross it.  */
       if (LABEL_P (insn))
        last_label_ruid = reload_combine_ruid;
-      else if (BARRIER_P (insn))
+      else if (BARRIER_P (insn)
+              || (INSN_P (insn) && volatile_insn_p (PATTERN (insn))))
        for (r = 0; r < FIRST_PSEUDO_REGISTER; r++)
          if (! fixed_regs[r])
              reg_state[r].use_index = RELOAD_COMBINE_MAX_USES;



--
This patch is available for review at http://codereview.appspot.com/5075046

Reply via email to