Commit 6ba1bd36 by Joseph Myers Committed by Joseph Myers

function.c (instantiate_virtual_regs_in_insn): Call force_reg inside…

function.c (instantiate_virtual_regs_in_insn): Call force_reg inside start_sequence / end_sequence pair.

	* function.c (instantiate_virtual_regs_in_insn): Call force_reg
	inside start_sequence / end_sequence pair.

From-SVN: r119192
parent 05549c96
2006-11-25 Joseph Myers <joseph@codesourcery.com>
* function.c (instantiate_virtual_regs_in_insn): Call force_reg
inside start_sequence / end_sequence pair.
2006-11-25 Steven Bosscher <steven@gcc.gnu.org> 2006-11-25 Steven Bosscher <steven@gcc.gnu.org>
* jump.c (mark_all_labels): Work in cfglayout mode. * jump.c (mark_all_labels): Work in cfglayout mode.
......
...@@ -1529,7 +1529,14 @@ instantiate_virtual_regs_in_insn (rtx insn) ...@@ -1529,7 +1529,14 @@ instantiate_virtual_regs_in_insn (rtx insn)
Validate the new value vs the insn predicate. Note that Validate the new value vs the insn predicate. Note that
asm insns will have insn_code -1 here. */ asm insns will have insn_code -1 here. */
if (!safe_insn_predicate (insn_code, i, x)) if (!safe_insn_predicate (insn_code, i, x))
x = force_reg (insn_data[insn_code].operand[i].mode, x); {
start_sequence ();
x = force_reg (insn_data[insn_code].operand[i].mode, x);
seq = get_insns ();
end_sequence ();
if (seq)
emit_insn_before (seq, insn);
}
*recog_data.operand_loc[i] = recog_data.operand[i] = x; *recog_data.operand_loc[i] = recog_data.operand[i] = x;
any_change = true; any_change = true;
......
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