Commit 426749e8 by Richard Kenner

(expand_function_start): Add redundant copy to static_chain_incoming_rtx if...

(expand_function_start): Add redundant copy to
static_chain_incoming_rtx if SMALL_REGISTER_CLASS so inlining works
properly.

From-SVN: r7909
parent a349007c
...@@ -4972,11 +4972,14 @@ expand_function_start (subr, parms_have_cleanups) ...@@ -4972,11 +4972,14 @@ expand_function_start (subr, parms_have_cleanups)
if (tem && ! obey_regdecls) if (tem && ! obey_regdecls)
{ {
#ifdef SMALL_REGISTER_CLASSES #ifdef SMALL_REGISTER_CLASSES
/* If the static chain originally came in a register, put it back
there, then move it out in the next insn. The reason for
this peculiar code is to satisfy function integration. */
if (GET_CODE (static_chain_incoming_rtx) == REG) if (GET_CODE (static_chain_incoming_rtx) == REG)
last_ptr = copy_to_reg (last_ptr); emit_move_insn (static_chain_incoming_rtx, last_ptr);
else
#endif #endif
last_ptr = copy_to_reg (static_chain_incoming_rtx);
last_ptr = copy_to_reg (static_chain_incoming_rtx);
} }
context_display = 0; context_display = 0;
......
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