for  gcc/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sched-deps.c (sched_analyze_insn): Don't force debug insns
	to follow their original predecessors.

Index: gcc/sched-deps.c
===================================================================
--- gcc/sched-deps.c.orig	2012-02-25 09:45:31.749795611 -0200
+++ gcc/sched-deps.c	2012-04-08 02:10:39.710573253 -0300
@@ -2988,18 +2988,6 @@ sched_analyze_insn (struct deps_desc *de
 	    reg_last->uses = alloc_INSN_LIST (insn, reg_last->uses);
 	}
       CLEAR_REG_SET (reg_pending_uses);
-
-      /* Quite often, a debug insn will refer to stuff in the
-	 previous instruction, but the reason we want this
-	 dependency here is to make sure the scheduler doesn't
-	 gratuitously move a debug insn ahead.  This could dirty
-	 DF flags and cause additional analysis that wouldn't have
-	 occurred in compilation without debug insns, and such
-	 additional analysis can modify the generated code.  */
-      prev = PREV_INSN (insn);
-
-      if (prev && NONDEBUG_INSN_P (prev))
-	add_dependence (insn, prev, REG_DEP_ANTI);
     }
   else
     {
