Commit 5da1fd3d by Alexandre Oliva Committed by Alexandre Oliva

frv.c (frv_ifcvt_modify_insn): Don't leave alone scratch insns of the then…

frv.c (frv_ifcvt_modify_insn): Don't leave alone scratch insns of the then branch that clobber regs needed by...

* config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
scratch insns of the then branch that clobber regs needed by the
else branch.

From-SVN: r74771
parent 4ac8340c
2003-12-17 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
scratch insns of the then branch that clobber regs needed by the
else branch.
2003-12-17 Kazu Hirata <kazu@cs.umass.edu> 2003-12-17 Kazu Hirata <kazu@cs.umass.edu>
* calls.c (expand_call): Update comments. * calls.c (expand_call): Update comments.
......
...@@ -6942,7 +6942,7 @@ single_set_pattern (rtx pattern) ...@@ -6942,7 +6942,7 @@ single_set_pattern (rtx pattern)
insn cannot be converted to be executed conditionally. */ insn cannot be converted to be executed conditionally. */
rtx rtx
frv_ifcvt_modify_insn (ce_if_block_t *ce_info ATTRIBUTE_UNUSED, frv_ifcvt_modify_insn (ce_if_block_t *ce_info,
rtx pattern, rtx pattern,
rtx insn) rtx insn)
{ {
...@@ -7068,7 +7068,16 @@ frv_ifcvt_modify_insn (ce_if_block_t *ce_info ATTRIBUTE_UNUSED, ...@@ -7068,7 +7068,16 @@ frv_ifcvt_modify_insn (ce_if_block_t *ce_info ATTRIBUTE_UNUSED,
other registers. */ other registers. */
else if (frv_ifcvt.scratch_insns_bitmap else if (frv_ifcvt.scratch_insns_bitmap
&& bitmap_bit_p (frv_ifcvt.scratch_insns_bitmap, && bitmap_bit_p (frv_ifcvt.scratch_insns_bitmap,
INSN_UID (insn))) INSN_UID (insn))
/* We must not unconditionally set a reg set used as
scratch in the THEN branch if the same reg is live
in the ELSE branch. */
&& REG_P (SET_DEST (set))
&& (! ce_info->else_bb
|| BLOCK_FOR_INSN (insn) == ce_info->else_bb
|| ! (REGNO_REG_SET_P
(ce_info->else_bb->global_live_at_start,
REGNO (SET_DEST (set))))))
pattern = set; pattern = set;
else if (mode == QImode || mode == HImode || mode == SImode else if (mode == QImode || mode == HImode || mode == SImode
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment