+2004-09-08 Richard Henderson <rth@redhat.com>
+
+ * 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.
+
2004-09-08 Devang Patel <dpatel@apple.com>
- * tree-if-conv.c (find_phi_replacement_condition): Return true edge block.
- (replace_phi_with_cond_modify_expr): Select conditional expr args based on
- true edge basic block.
+ * tree-if-conv.c (find_phi_replacement_condition): Return true
+ edge block.
+ (replace_phi_with_cond_modify_expr): Select conditional expr args
+ based on true edge basic block.
2004-09-08 Jan Hubicka <jh@suse.cz>