sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of recognized by cannot_copy_insn_p hook and volatile instructions.

2011-08-11  Dmitry Melnik  <dm@ispras.ru>

	* sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of
	recognized by cannot_copy_insn_p hook and volatile instructions.

From-SVN: r177652
This commit is contained in:
Dmitry Melnik 2011-08-11 11:41:27 +00:00 committed by Alexander Monakov
parent bf3a40e953
commit 6bf2d15641
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2011-08-11 Dmitry Melnik <dm@ispras.ru>
* sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of
recognized by cannot_copy_insn_p hook and volatile instructions.
2011-08-11 Dmitry Melnik <dm@ispras.ru>
* sel-sched-ir.c (merge_expr_data): Take maximum spec.

View file

@ -2956,7 +2956,10 @@ init_global_and_expr_for_insn (insn_t insn)
/* Exception handling insns are always unique. */
|| (cfun->can_throw_non_call_exceptions && can_throw_internal (insn))
/* TRAP_IF though have an INSN code is control_flow_insn_p (). */
|| control_flow_insn_p (insn))
|| control_flow_insn_p (insn)
|| volatile_insn_p (PATTERN (insn))
|| (targetm.cannot_copy_insn_p
&& targetm.cannot_copy_insn_p (insn)))
force_unique_p = true;
else
force_unique_p = false;