[google] Backport r178995 from trunk to google/gcc-4_6 (issue5075046)

Guozhi Wei carrot@google.com
Wed Sep 21 08:11:00 GMT 2011


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  <carrot@google.com>

	Backport r178995 from trunk.

	2011-09-20  Wei Guozhi  <carrot@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



More information about the Gcc-patches mailing list