aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-07-17 07:47:19 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-07-17 07:47:19 +0000
commitbf95b6295ca8a76eec569791cfa3c8de19513204 (patch)
treefa2d961eca43f0c66b679b6afecd95bafa97e18f /gcc/sched-deps.c
parent6782b1ef34e4b6afca51b219792f3e0f26aeff18 (diff)
downloadgcc-bf95b6295ca8a76eec569791cfa3c8de19513204.zip
gcc-bf95b6295ca8a76eec569791cfa3c8de19513204.tar.gz
gcc-bf95b6295ca8a76eec569791cfa3c8de19513204.tar.bz2
re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
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: r212738
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 7cafc8b..d271521 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2750,7 +2750,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.