OSDN Git Service

* function.c (reference_callee_copied): New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3108964..c58585a 100644 (file)
@@ -1,8 +1,53 @@
+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>