optabs.h (force_expand_binop): Declare.
authorRichard Sandiford <rsandifo@redhat.com>
Wed, 24 Nov 2004 18:50:26 +0000 (18:50 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 24 Nov 2004 18:50:26 +0000 (18:50 +0000)
commitbef5d8b61f6732bec53128324913bfa8a5093a07
treeb60ced5605459fa37b62bcb5a6c1cced24e7b3fd
parent6e2993bf5b71c17c2b60e0dec787750f44925e66
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/ChangeLog
gcc/calls.c
gcc/expr.h
gcc/function.c
gcc/optabs.c
gcc/optabs.h
gcc/stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20041124-1.c [new file with mode: 0644]