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
This commit is contained in:
Richard Biener 2014-07-17 07:47:19 +00:00 committed by Richard Biener
parent 6782b1ef34
commit bf95b6295c
2 changed files with 9 additions and 1 deletions

View 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 DJ Delorie <dj@redhat.com>
* config/rx/rx.c (rx_option_override): Fix alignment values.

View File

@ -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.