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