Commit 4f48d56a by Richard Kenner

(expand_call): If IS_CONST and VALREG == 0, end our sequence and emit

the insns.

From-SVN: r8431
parent e8031612
...@@ -1624,10 +1624,11 @@ expand_call (exp, target, ignore) ...@@ -1624,10 +1624,11 @@ expand_call (exp, target, ignore)
&& args[i].mode != BLKmode && args[i].mode != BLKmode
&& rtx_cost (args[i].value, SET) > 2 && rtx_cost (args[i].value, SET) > 2
#ifdef SMALL_REGISTER_CLASSES #ifdef SMALL_REGISTER_CLASSES
&& (reg_parm_seen || preserve_subexpressions_p ())) && (reg_parm_seen || preserve_subexpressions_p ())
#else #else
&& preserve_subexpressions_p ()) && preserve_subexpressions_p ()
#endif #endif
)
args[i].value = copy_to_mode_reg (args[i].mode, args[i].value); args[i].value = copy_to_mode_reg (args[i].mode, args[i].value);
} }
...@@ -1909,6 +1910,14 @@ expand_call (exp, target, ignore) ...@@ -1909,6 +1910,14 @@ expand_call (exp, target, ignore)
valreg = temp; valreg = temp;
} }
else if (is_const)
{
/* Otherwise, just write out the sequence without a note. */
rtx insns = get_insns ();
end_sequence ();
emit_insns (insns);
}
/* For calls to `setjmp', etc., inform flow.c it should complain /* For calls to `setjmp', etc., inform flow.c it should complain
if nonvolatile values are live. */ if nonvolatile values are live. */
......
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