diff options
author | Richard Biener <rguenther@suse.de> | 2014-07-17 07:47:19 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-07-17 07:47:19 +0000 |
commit | bf95b6295ca8a76eec569791cfa3c8de19513204 (patch) | |
tree | fa2d961eca43f0c66b679b6afecd95bafa97e18f /gcc/sched-deps.c | |
parent | 6782b1ef34e4b6afca51b219792f3e0f26aeff18 (diff) | |
download | gcc-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.c | 3 |
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. |