From bef5d8b61f6732bec53128324913bfa8a5093a07 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 24 Nov 2004 18:50:26 +0000 Subject: optabs.h (force_expand_binop): Declare. * optabs.h (force_expand_binop): Declare. * optabs.c (force_expand_binop): Export. * stmt.c (shift_return_value): Delete. (expand_return): Don't call it. * expr.h (shift_return_value): Declare. * calls.c (shift_returned_value): Delete in favor of... (shift_return_value): ...this new function. Leave the caller to check for non-BLKmode values passed in the msb of a register. Take said mode and a shift direction as argument. Operate on the hard function value, not a pseudo. (expand_call): Adjust accordingly. * function.c (expand_function_start): If a non-BLKmode return value is padded at the last significant end of the return register, use the return value's natural mode for the DECL_RESULT, not the mode of the padded register. (expand_function_end): Shift the same sort of return values left by the appropriate amount. From-SVN: r91187 --- gcc/expr.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/expr.h') diff --git a/gcc/expr.h b/gcc/expr.h index f6f32e8..780ad4d 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -551,6 +551,8 @@ extern rtx hard_function_value (tree, tree, int); extern rtx prepare_call_address (rtx, rtx, rtx *, int, int); +extern bool shift_return_value (enum machine_mode, bool, rtx); + extern rtx expand_call (tree, rtx, int); extern void fixup_tail_calls (void); -- cgit v1.1