mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 03:46:53 -05:00
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: r119282
This commit is contained in:
committed by
Joseph Myers
parent
d982e8189a
commit
bf123ad64d
@@ -1,3 +1,8 @@
|
||||
2006-11-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* function.c (instantiate_virtual_regs_in_insn): Call force_reg
|
||||
inside start_sequence / end_sequence pair.
|
||||
|
||||
2006-11-27 Michael Matz <matz@suse.de>
|
||||
Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
|
||||
@@ -1529,7 +1529,14 @@ instantiate_virtual_regs_in_insn (rtx insn)
|
||||
Validate the new value vs the insn predicate. Note that
|
||||
asm insns will have insn_code -1 here. */
|
||||
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;
|
||||
any_change = true;
|
||||
|
||||
Reference in New Issue
Block a user