From: Richard Biener Date: Thu, 17 Jul 2014 07:49:44 +0000 (+0000) Subject: re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g) X-Git-Tag: releases/gcc-4.8.4~355 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3fca794f3d84b4f527a8e4e86ce60a6752105b20;p=thirdparty%2Fgcc.git re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g) 2014-07-17 Richard Biener 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e4f85759ffe6..59addffc3c95 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-07-17 Richard Biener + + 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 * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 07857f2d6bff..4ac2542a3af8 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -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.