From 4f48d56aa72831182c3d4ece0f8065865b36daf9 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 14 Nov 1994 18:46:08 -0500 Subject: (expand_call): If IS_CONST and VALREG == 0, end our sequence and emit the insns. From-SVN: r8431 --- gcc/calls.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/calls.c b/gcc/calls.c index 2d58770..b168e85 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1624,10 +1624,11 @@ expand_call (exp, target, ignore) && args[i].mode != BLKmode && rtx_cost (args[i].value, SET) > 2 #ifdef SMALL_REGISTER_CLASSES - && (reg_parm_seen || preserve_subexpressions_p ())) + && (reg_parm_seen || preserve_subexpressions_p ()) #else - && preserve_subexpressions_p ()) + && preserve_subexpressions_p () #endif + ) args[i].value = copy_to_mode_reg (args[i].mode, args[i].value); } @@ -1909,6 +1910,14 @@ expand_call (exp, target, ignore) 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 if nonvolatile values are live. */ -- cgit v1.1