]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
authorRichard Biener <rguenther@suse.de>
Thu, 17 Jul 2014 07:49:44 +0000 (07:49 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 17 Jul 2014 07:49:44 +0000 (07:49 +0000)
2014-07-17  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/61801
* sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
ASM_INPUT don't set reg_pending_barrier if it appears in a
debug-insn.

From-SVN: r212740

gcc/ChangeLog
gcc/sched-deps.c

index e4f85759ffe66e5da90d7757bc3209a948fcaac3..59addffc3c951959daca57060b049eb5b8a9ead4 100644 (file)
@@ -1,3 +1,10 @@
+2014-07-17  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/61801
+       * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
+       ASM_INPUT don't set reg_pending_barrier if it appears in a
+       debug-insn.
+
 2014-07-16  Jakub Jelinek  <jakub@redhat.com>
 
        * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
index 07857f2d6bff70f826d7a9c31051fab4c230b876..4ac2542a3af81c33170357a12856418532ff106f 100644 (file)
@@ -2744,7 +2744,8 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx insn)
           Consider for instance a volatile asm that changes the fpu rounding
           mode.  An insn should not be moved across this even if it only uses
           pseudo-regs because it might give an incorrectly rounded result.  */
-       if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+       if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+           && !DEBUG_INSN_P (insn))
          reg_pending_barrier = TRUE_BARRIER;
 
        /* For all ASM_OPERANDS, we must traverse the vector of input operands.