aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-11-24 18:50:26 +0000
committerRichard Sandiford <rsandifo@redhat.com>2004-11-24 18:50:26 +0000
commit6ab4ea50a52c688b1af953dd392b3f9b42640a90 (patch)
treeb60ced5605459fa37b62bcb5a6c1cced24e7b3fd /gcc/expr.h
parenta57b96cae22fed78b787fb4f676b3d8e3eec0238 (diff)
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91187 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index f6f32e8ea23..780ad4dfdd4 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);