diff options
author | Richard Henderson <rth@cygnus.com> | 2000-02-04 13:30:22 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-02-04 13:30:22 -0800 |
commit | c13fde0599c2f8dbbbdc625dba0bf7b610a2d597 (patch) | |
tree | 8cc10637d86506360d6941e5b27c2b2ee19fca50 /gcc/function.h | |
parent | facc279fc19a31c23323ce3eeac869eb14d07bda (diff) | |
download | gcc-c13fde0599c2f8dbbbdc625dba0bf7b610a2d597.tar.gz |
function.c (diddle_return_value): Rework to use a callback function.
* function.c (diddle_return_value): Rework to use a callback function.
Use current_function_return_rtx if it's been set up.
(do_clobber_return_reg, clobber_return_register): New.
(do_use_return_reg, use_return_register): New.
(expand_function_end): Use them.
* stmt.c (expand_null_return): Likewise.
* function.h: Declare them.
* flow.c (mark_regs_live_at_end): Use diddle_return_value.
(mark_reg): Change arguments as appropriate for callback.
* integrate.c (expand_inline_function): Revert 19 Jan change.
From-SVN: r31791
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.h b/gcc/function.h index 35d26bdf0d0..1a94f948c69 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -585,7 +585,9 @@ extern void free_expr_status PARAMS ((struct function *)); extern rtx get_first_block_beg PARAMS ((void)); #ifdef RTX_CODE -extern void diddle_return_value PARAMS ((enum rtx_code)); +extern void diddle_return_value PARAMS ((void (*)(rtx, void*), void*)); +extern void clobber_return_register PARAMS ((void)); +extern void use_return_register PARAMS ((void)); #endif extern void init_virtual_regs PARAMS ((struct emit_status *)); |