* function.c (reference_callee_copied): New.
(assign_parm_setup_reg): Use it. * calls.c (initialize_argument_information): Likewise. (emit_library_call_value_1): Likewise. * function.h (reference_callee_copied): Declare. * target.h (struct gcc_target): Add callee_copies. * target-def.h (TARGET_CALLEE_COPIES): New. (TARGET_PASS_BY_REFERENCE): Update default. * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * targhooks.c (hook_callee_copies_named): New. (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from hook_pass_by_reference_false. (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New. * targhooks.h: Update decls. * config/arc/arc.c (TARGET_CALLEE_COPIES): New. * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove. * config/frv/frv.c (frv_function_arg_callee_copies): Remove. * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New. * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New. * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/mips/mips.c (TARGET_CALLEE_COPIES): New. (mips_callee_copies): New. * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New. * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New. * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/pa/pa.c (TARGET_CALLEE_COPIES): New. * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/sh/sh.c (sh_callee_copies): New. (TARGET_CALLEE_COPIES): New. * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * config/v850/v850.c (TARGET_CALLEE_COPIES): New. * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove. * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation for FUNCTION_ARG_CALLEE_COPIES. * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87195 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 48 additions, 3 deletionsgcc/ChangeLog
- gcc/calls.c 4 additions, 4 deletionsgcc/calls.c
- gcc/config/arc/arc.c 2 additions, 1 deletiongcc/config/arc/arc.c
- gcc/config/arc/arc.h 0 additions, 9 deletionsgcc/config/arc/arc.h
- gcc/config/frv/frv-protos.h 0 additions, 4 deletionsgcc/config/frv/frv-protos.h
- gcc/config/frv/frv.c 0 additions, 19 deletionsgcc/config/frv/frv.c
- gcc/config/frv/frv.h 0 additions, 11 deletionsgcc/config/frv/frv.h
- gcc/config/iq2000/iq2000.c 2 additions, 0 deletionsgcc/config/iq2000/iq2000.c
- gcc/config/iq2000/iq2000.h 0 additions, 2 deletionsgcc/config/iq2000/iq2000.h
- gcc/config/m68hc11/m68hc11.c 2 additions, 0 deletionsgcc/config/m68hc11/m68hc11.c
- gcc/config/m68hc11/m68hc11.h 0 additions, 11 deletionsgcc/config/m68hc11/m68hc11.h
- gcc/config/mips/mips.c 12 additions, 0 deletionsgcc/config/mips/mips.c
- gcc/config/mips/mips.h 0 additions, 3 deletionsgcc/config/mips/mips.h
- gcc/config/mmix/mmix.c 2 additions, 0 deletionsgcc/config/mmix/mmix.c
- gcc/config/mmix/mmix.h 0 additions, 2 deletionsgcc/config/mmix/mmix.h
- gcc/config/mn10300/mn10300.c 2 additions, 0 deletionsgcc/config/mn10300/mn10300.c
- gcc/config/mn10300/mn10300.h 0 additions, 2 deletionsgcc/config/mn10300/mn10300.h
- gcc/config/pa/pa.c 2 additions, 0 deletionsgcc/config/pa/pa.c
- gcc/config/pa/pa.h 0 additions, 2 deletionsgcc/config/pa/pa.h
- gcc/config/sh/sh.c 16 additions, 0 deletionsgcc/config/sh/sh.c
Loading
Please register or sign in to comment