Use function_arg_info for TARGET_CALLEE_COPIES
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 20 Aug 2019 08:53:23 +0000 (08:53 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 20 Aug 2019 08:53:23 +0000 (08:53 +0000)
The hook is passed the unpromoted type mode instead of the promoted mode.

The aarch64 definition is redundant, but worth keeping for emphasis.

2019-08-20  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* target.def (callee_copies): Take a function_arg_info instead
of a mode, type and named flag.
* doc/tm.texi: Regenerate.
* targhooks.h (hook_callee_copies_named): Take a function_arg_info
instead of a mode, type and named flag.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Delete.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
(hook_bool_CUMULATIVE_ARGS_arg_info_true): New function.
* targhooks.c (hook_callee_copies_named): Take a function_arg_info
instead of a mode, type and named flag.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Delete.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
(hook_bool_CUMULATIVE_ARGS_arg_info_true): New function.
* calls.h (reference_callee_copied): Take a function_arg_info
instead of a mode, type and named flag.
* calls.c (reference_callee_copied): Likewise.
(initialize_argument_information): Update call accordingly.
(emit_library_call_value_1): Likewise.
* function.c (gimplify_parameters): Likewise.
* config/aarch64/aarch64.c (TARGET_CALLEE_COPIES): Define to
hook_bool_CUMULATIVE_ARGS_arg_info_false instead of
hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false.
* config/c6x/c6x.c (c6x_callee_copies): Delete.
(TARGET_CALLEE_COPIES): Define to
hook_bool_CUMULATIVE_ARGS_arg_info_true instead.
* config/epiphany/epiphany.c (TARGET_CALLEE_COPIES): Define to
hook_bool_CUMULATIVE_ARGS_arg_info_true instead of
hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true.
* config/mips/mips.c (mips_callee_copies): Take a function_arg_info
instead of a mode, type and named flag.
* config/mmix/mmix.c (TARGET_CALLEE_COPIES): Define to
hook_bool_CUMULATIVE_ARGS_arg_info_true instead of
hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true.
* config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): Likewise.
* config/msp430/msp430.c (msp430_callee_copies): Delete.
(TARGET_CALLEE_COPIES): Define to
hook_bool_CUMULATIVE_ARGS_arg_info_true instead.
* config/pa/pa.c (pa_callee_copies): Take a function_arg_info
instead of a mode, type and named flag.
* config/sh/sh.c (sh_callee_copies): Likewise.
* config/v850/v850.c (TARGET_CALLEE_COPIES): Define to
hook_bool_CUMULATIVE_ARGS_arg_info_true instead of
hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true.

From-SVN: r274702

18 files changed:
gcc/ChangeLog
gcc/calls.c
gcc/calls.h
gcc/config/aarch64/aarch64.c
gcc/config/c6x/c6x.c
gcc/config/epiphany/epiphany.c
gcc/config/mips/mips.c
gcc/config/mmix/mmix.c
gcc/config/mn10300/mn10300.c
gcc/config/msp430/msp430.c
gcc/config/pa/pa.c
gcc/config/sh/sh.c
gcc/config/v850/v850.c
gcc/doc/tm.texi
gcc/function.c
gcc/target.def
gcc/targhooks.c
gcc/targhooks.h

index c0be9bb0004cf40df6d7235bf212f9a2a89c8f5e..e57cc99779bef93d55f482693bd67923f74a18eb 100644 (file)
@@ -1,3 +1,49 @@
+2019-08-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * target.def (callee_copies): Take a function_arg_info instead
+       of a mode, type and named flag.
+       * doc/tm.texi: Regenerate.
+       * targhooks.h (hook_callee_copies_named): Take a function_arg_info
+       instead of a mode, type and named flag.
+       (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Delete.
+       (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
+       (hook_bool_CUMULATIVE_ARGS_arg_info_true): New function.
+       * targhooks.c (hook_callee_copies_named): Take a function_arg_info
+       instead of a mode, type and named flag.
+       (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Delete.
+       (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
+       (hook_bool_CUMULATIVE_ARGS_arg_info_true): New function.
+       * calls.h (reference_callee_copied): Take a function_arg_info
+       instead of a mode, type and named flag.
+       * calls.c (reference_callee_copied): Likewise.
+       (initialize_argument_information): Update call accordingly.
+       (emit_library_call_value_1): Likewise.
+       * function.c (gimplify_parameters): Likewise.
+       * config/aarch64/aarch64.c (TARGET_CALLEE_COPIES): Define to
+       hook_bool_CUMULATIVE_ARGS_arg_info_false instead of
+       hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false.
+       * config/c6x/c6x.c (c6x_callee_copies): Delete.
+       (TARGET_CALLEE_COPIES): Define to
+       hook_bool_CUMULATIVE_ARGS_arg_info_true instead.
+       * config/epiphany/epiphany.c (TARGET_CALLEE_COPIES): Define to
+       hook_bool_CUMULATIVE_ARGS_arg_info_true instead of
+       hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true.
+       * config/mips/mips.c (mips_callee_copies): Take a function_arg_info
+       instead of a mode, type and named flag.
+       * config/mmix/mmix.c (TARGET_CALLEE_COPIES): Define to
+       hook_bool_CUMULATIVE_ARGS_arg_info_true instead of
+       hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true.
+       * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): Likewise.
+       * config/msp430/msp430.c (msp430_callee_copies): Delete.
+       (TARGET_CALLEE_COPIES): Define to
+       hook_bool_CUMULATIVE_ARGS_arg_info_true instead.
+       * config/pa/pa.c (pa_callee_copies): Take a function_arg_info
+       instead of a mode, type and named flag.
+       * config/sh/sh.c (sh_callee_copies): Likewise.
+       * config/v850/v850.c (TARGET_CALLEE_COPIES): Define to
+       hook_bool_CUMULATIVE_ARGS_arg_info_true instead of
+       hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true.
+
 2019-08-20  Richard Sandiford  <richard.sandiford@arm.com>
 
        * target.def (function_arg_advance): Take a function_arg_info instead
index 69a31848f591003659011aa69c7c9bb7fcd46e4c..6be8acd38e346df8d154a4278892e53a66288551 100644 (file)
@@ -935,17 +935,15 @@ pass_va_arg_by_reference (tree type)
   return pass_by_reference (NULL, function_arg_info (type, /*named=*/false));
 }
 
-/* Return true if TYPE, which is passed by reference, should be callee
+/* Return true if ARG, which is passed by reference, should be callee
    copied instead of caller copied.  */
 
 bool
-reference_callee_copied (CUMULATIVE_ARGS *ca, machine_mode mode,
-                        tree type, bool named_arg)
+reference_callee_copied (CUMULATIVE_ARGS *ca, const function_arg_info &arg)
 {
-  if (type && TREE_ADDRESSABLE (type))
+  if (arg.type && TREE_ADDRESSABLE (arg.type))
     return false;
-  return targetm.calls.callee_copies (pack_cumulative_args (ca), mode, type,
-                                     named_arg);
+  return targetm.calls.callee_copies (pack_cumulative_args (ca), arg);
 }
 
 
@@ -2002,9 +2000,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
          bool callee_copies;
          tree base = NULL_TREE;
 
-         callee_copies
-           = reference_callee_copied (args_so_far_pnt, TYPE_MODE (type),
-                                      type, argpos < n_named_args);
+         callee_copies = reference_callee_copied (args_so_far_pnt, orig_arg);
 
          /* If we're compiling a thunk, pass through invisible references
             instead of making a copy.  */
@@ -4911,8 +4907,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
       if (pass_by_reference (&args_so_far_v, orig_arg))
        {
          rtx slot;
-         int must_copy
-           = !reference_callee_copied (&args_so_far_v, mode, NULL_TREE, 1);
+         int must_copy = !reference_callee_copied (&args_so_far_v, orig_arg);
 
          /* If this was a CONST function, it is now PURE since it now
             reads memory.  */
index 54957bcd42bb3836ad2f8ab26366f328359cab09..709a0769b768a07fd2eb97a8fb75a38f1e779f75 100644 (file)
@@ -118,8 +118,8 @@ extern void fixup_tail_calls (void);
 
 extern bool pass_by_reference (CUMULATIVE_ARGS *, function_arg_info);
 extern bool pass_va_arg_by_reference (tree);
-extern bool reference_callee_copied (CUMULATIVE_ARGS *, machine_mode,
-                                    tree, bool);
+extern bool reference_callee_copied (CUMULATIVE_ARGS *,
+                                    const function_arg_info &);
 extern void maybe_warn_alloc_args_overflow (tree, tree, tree[2], int[2]);
 extern tree get_attr_nonstring_decl (tree, tree * = NULL);
 extern void maybe_warn_nonstring_arg (tree, tree);
index f13a7777f483fb86f1ffa319ed6b78055d2cca49..146d0201f50e0f02a9c7a3e0f8515070fdb42f76 100644 (file)
@@ -20346,7 +20346,7 @@ aarch64_run_selftests (void)
 #define TARGET_BUILD_BUILTIN_VA_LIST aarch64_build_builtin_va_list
 
 #undef TARGET_CALLEE_COPIES
-#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false
+#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_arg_info_false
 
 #undef TARGET_CAN_ELIMINATE
 #define TARGET_CAN_ELIMINATE aarch64_can_eliminate
index 383634f17b154424fd5bd5df7a7f347b0e36e853..37da9a419db0e69b004915c31796d7502393176f 100644 (file)
@@ -635,7 +635,7 @@ c6x_function_value_regno_p (const unsigned int regno)
 }
 
 /* Types larger than 64 bit, and variable sized types, are passed by
-   reference.  The callee must copy them; see c6x_callee_copies.  */
+   reference.  The callee must copy them; see TARGET_CALLEE_COPIES.  */
 
 static bool
 c6x_pass_by_reference (cumulative_args_t, const function_arg_info &arg)
@@ -669,17 +669,6 @@ c6x_return_in_msb (const_tree valtype)
   return TARGET_BIG_ENDIAN && AGGREGATE_TYPE_P (valtype) && size == 3;
 }
 
-/* Implement TARGET_CALLEE_COPIES.  */
-
-static bool
-c6x_callee_copies (cumulative_args_t cum_v ATTRIBUTE_UNUSED,
-                  machine_mode mode ATTRIBUTE_UNUSED,
-                  const_tree type ATTRIBUTE_UNUSED,
-                  bool named ATTRIBUTE_UNUSED)
-{
-  return true;
-}
-
 /* Return the type to use as __builtin_va_list.  */
 static tree
 c6x_build_builtin_va_list (void)
@@ -6726,7 +6715,7 @@ c6x_modes_tieable_p (machine_mode mode1, machine_mode mode2)
 #undef TARGET_PASS_BY_REFERENCE
 #define TARGET_PASS_BY_REFERENCE c6x_pass_by_reference
 #undef TARGET_CALLEE_COPIES
-#define TARGET_CALLEE_COPIES c6x_callee_copies
+#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_arg_info_true
 #undef TARGET_STRUCT_VALUE_RTX
 #define TARGET_STRUCT_VALUE_RTX c6x_struct_value_rtx
 #undef TARGET_FUNCTION_OK_FOR_SIBCALL
index 7dfb91f5662462171a9a4587735efc2d59c89454..cc51cfaaf98073bc0cba06255a716a271b7ba134 100644 (file)
@@ -90,7 +90,7 @@ static rtx_insn *frame_insn (rtx);
 
 #define TARGET_RETURN_IN_MEMORY epiphany_return_in_memory
 #define TARGET_PASS_BY_REFERENCE epiphany_pass_by_reference
-#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
+#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_arg_info_true
 #define TARGET_FUNCTION_VALUE epiphany_function_value
 #define TARGET_LIBCALL_VALUE epiphany_libcall_value
 #define TARGET_FUNCTION_VALUE_REGNO_P epiphany_function_value_regno_p
index c4d08a481348176c66372bfd1ca59da734ded907..37ebde577b7b9886332fc7c06b82e339bcf1916a 100644 (file)
@@ -6259,11 +6259,9 @@ mips_pass_by_reference (cumulative_args_t, const function_arg_info &arg)
 /* Implement TARGET_CALLEE_COPIES.  */
 
 static bool
-mips_callee_copies (cumulative_args_t cum ATTRIBUTE_UNUSED,
-                   machine_mode mode ATTRIBUTE_UNUSED,
-                   const_tree type ATTRIBUTE_UNUSED, bool named)
+mips_callee_copies (cumulative_args_t, const function_arg_info &arg)
 {
-  return mips_abi == ABI_EABI && named;
+  return mips_abi == ABI_EABI && arg.named;
 }
 \f
 /* See whether VALTYPE is a record whose fields should be returned in
index 9c4eb2d634b65dd115c3ab438693655f17cd8410..7c12e74a73dc0edcd13f2a162c9353eae181d343 100644 (file)
@@ -263,7 +263,7 @@ static HOST_WIDE_INT mmix_starting_frame_offset (void);
 #undef TARGET_PASS_BY_REFERENCE
 #define TARGET_PASS_BY_REFERENCE mmix_pass_by_reference
 #undef TARGET_CALLEE_COPIES
-#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
+#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_arg_info_true
 
 #undef TARGET_PREFERRED_RELOAD_CLASS
 #define TARGET_PREFERRED_RELOAD_CLASS mmix_preferred_reload_class
index 50020e28f761a3f32af2406d31bef47b790f4fb4..5502d65c4caac9757f886799148f5d9dfbe21cb5 100644 (file)
@@ -3354,7 +3354,7 @@ mn10300_reorg (void)
 #undef  TARGET_PASS_BY_REFERENCE
 #define TARGET_PASS_BY_REFERENCE mn10300_pass_by_reference
 #undef  TARGET_CALLEE_COPIES
-#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
+#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_arg_info_true
 #undef  TARGET_ARG_PARTIAL_BYTES
 #define TARGET_ARG_PARTIAL_BYTES mn10300_arg_partial_bytes
 #undef  TARGET_FUNCTION_ARG
index 66bb217a7937dc96d8938bdab90b69a0672980d4..c5cf7044aeffd6a6720824cbd693630b735143a0 100644 (file)
@@ -750,16 +750,7 @@ msp430_pass_by_reference (cumulative_args_t, const function_arg_info &arg)
 }
 
 #undef  TARGET_CALLEE_COPIES
-#define TARGET_CALLEE_COPIES msp430_callee_copies
-
-static bool
-msp430_callee_copies (cumulative_args_t cap ATTRIBUTE_UNUSED,
-                     machine_mode mode ATTRIBUTE_UNUSED,
-                     const_tree type ATTRIBUTE_UNUSED,
-                     bool named ATTRIBUTE_UNUSED)
-{
-  return true;
-}
+#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_arg_info_true
 
 #undef  TARGET_FUNCTION_ARG_ADVANCE
 #define TARGET_FUNCTION_ARG_ADVANCE msp430_function_arg_advance
index ba14fbd527cf4a2da4731b2a9f66c177c5dc9dfc..9366b106b32f87df79b8a1f00cde24a91d4949ae 100644 (file)
@@ -197,8 +197,7 @@ static bool pa_cannot_force_const_mem (machine_mode, rtx);
 static bool pa_legitimate_constant_p (machine_mode, rtx);
 static unsigned int pa_section_type_flags (tree, const char *, int);
 static bool pa_legitimate_address_p (machine_mode, rtx, bool);
-static bool pa_callee_copies (cumulative_args_t, machine_mode,
-                             const_tree, bool);
+static bool pa_callee_copies (cumulative_args_t, const function_arg_info &);
 static unsigned int pa_hard_regno_nregs (unsigned int, machine_mode);
 static bool pa_hard_regno_mode_ok (unsigned int, machine_mode);
 static bool pa_modes_tieable_p (machine_mode, machine_mode);
@@ -10764,10 +10763,7 @@ pa_maybe_emit_compare_and_swap_exchange_loop (rtx target, rtx mem, rtx val)
    in the 64-bit HP runtime.  */
 
 static bool
-pa_callee_copies (cumulative_args_t cum ATTRIBUTE_UNUSED,
-                 machine_mode mode ATTRIBUTE_UNUSED,
-                 const_tree type ATTRIBUTE_UNUSED,
-                 bool named ATTRIBUTE_UNUSED)
+pa_callee_copies (cumulative_args_t, const function_arg_info &)
 {
   return !TARGET_CALLER_COPIES;
 }
index ac3c5a57f86ed2e14768b5464404ef2d7fd04bcb..da912ca9abdcb296744d08104df4c1e336d7b56f 100644 (file)
@@ -296,8 +296,7 @@ static machine_mode sh_promote_function_mode (const_tree type,
                                                   int for_return);
 static bool sh_pass_by_reference (cumulative_args_t,
                                  const function_arg_info &);
-static bool sh_callee_copies (cumulative_args_t, machine_mode,
-                             const_tree, bool);
+static bool sh_callee_copies (cumulative_args_t, const function_arg_info &);
 static int sh_arg_partial_bytes (cumulative_args_t, const function_arg_info &);
 static void sh_function_arg_advance (cumulative_args_t,
                                     const function_arg_info &);
@@ -7915,14 +7914,15 @@ sh_pass_by_reference (cumulative_args_t cum_v, const function_arg_info &arg)
 }
 
 static bool
-sh_callee_copies (cumulative_args_t cum, machine_mode mode,
-                 const_tree type, bool named ATTRIBUTE_UNUSED)
+sh_callee_copies (cumulative_args_t cum, const function_arg_info &arg)
 {
   /* ??? How can it possibly be correct to return true only on the
      caller side of the equation?  Is there someplace else in the
      sh backend that's magically producing the copies?  */
   return (get_cumulative_args (cum)->outgoing
-         && ((mode == BLKmode ? TYPE_ALIGN (type) : GET_MODE_ALIGNMENT (mode))
+         && ((arg.mode == BLKmode
+              ? TYPE_ALIGN (arg.type)
+              : GET_MODE_ALIGNMENT (arg.mode))
              % SH_MIN_ALIGN_FOR_CALLEE_COPY == 0));
 }
 
index 26ad4a71dbdd835577fec94ddc08a6036332f4ca..d5c9ba7d925c558d77887a3e7df061353b6f3307 100644 (file)
@@ -3263,7 +3263,7 @@ v850_modes_tieable_p (machine_mode mode1, machine_mode mode2)
 #define TARGET_PASS_BY_REFERENCE v850_pass_by_reference
 
 #undef  TARGET_CALLEE_COPIES
-#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
+#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_arg_info_true
 
 #undef  TARGET_ARG_PARTIAL_BYTES
 #define TARGET_ARG_PARTIAL_BYTES v850_arg_partial_bytes
index c3e23cdbb5e8efec8cf3d076b8ed753605b934c8..99dbfb8d0fb26942eab74ab8c67c7616f7dec477 100644 (file)
@@ -4080,7 +4080,7 @@ The pointer is passed in whatever way is appropriate for passing a pointer
 to that type.
 @end deftypefn
 
-@deftypefn {Target Hook} bool TARGET_CALLEE_COPIES (cumulative_args_t @var{cum}, machine_mode @var{mode}, const_tree @var{type}, bool @var{named})
+@deftypefn {Target Hook} bool TARGET_CALLEE_COPIES (cumulative_args_t @var{cum}, const function_arg_info @var{&arg})
 The function argument described by the parameters to this hook is
 known to be passed by reference.  The hook should return true if the
 function argument should be copied by the callee instead of copied
index 64a272bc4563fcd621864eb985403e0bbcc678be..1d7687aebce4f588881790c84e46e8bab29028ac 100644 (file)
@@ -3881,8 +3881,8 @@ gimplify_parameters (gimple_seq *cleanup)
       if (data.passed_pointer)
        {
           tree type = TREE_TYPE (data.passed_type);
-         if (reference_callee_copied (&all.args_so_far_v, TYPE_MODE (type),
-                                      type, data.named_arg))
+         function_arg_info orig_arg (type, data.named_arg);
+         if (reference_callee_copied (&all.args_so_far_v, orig_arg))
            {
              tree local, t;
 
index cf315c5bde8dee35432c233768b7926ef6558979..4f8acfd2276a097390261fa76806dc08768b6587 100644 (file)
@@ -4653,8 +4653,8 @@ not be generated.\n\
 \n\
 The default version of this hook always returns false.",
  bool,
- (cumulative_args_t cum, machine_mode mode, const_tree type, bool named),
- hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false)
+ (cumulative_args_t cum, const function_arg_info &arg),
+ hook_bool_CUMULATIVE_ARGS_arg_info_false)
 
 /* Return zero for arguments passed entirely on the stack or entirely
    in registers.  If passed in both, return the number of bytes passed
index 59954b2b8d6a5fd9d0d382d28d88c5914db42eb0..5a0ed2f72de5086ad67d1659f114bed1836510c4 100644 (file)
@@ -330,11 +330,9 @@ hook_pass_by_reference_must_pass_in_stack (cumulative_args_t,
    version of the hook is true for all named arguments.  */
 
 bool
-hook_callee_copies_named (cumulative_args_t ca ATTRIBUTE_UNUSED,
-                         machine_mode mode ATTRIBUTE_UNUSED,
-                         const_tree type ATTRIBUTE_UNUSED, bool named)
+hook_callee_copies_named (cumulative_args_t, const function_arg_info &arg)
 {
-  return named;
+  return arg.named;
 }
 
 /* Emit to STREAM the assembler syntax for insn operand X.  */
@@ -746,30 +744,19 @@ default_builtin_reciprocal (tree)
 }
 
 bool
-hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false (
-       cumulative_args_t ca ATTRIBUTE_UNUSED,
-       machine_mode mode ATTRIBUTE_UNUSED,
-       const_tree type ATTRIBUTE_UNUSED, bool named ATTRIBUTE_UNUSED)
+hook_bool_CUMULATIVE_ARGS_arg_info_false (cumulative_args_t,
+                                         const function_arg_info &)
 {
   return false;
 }
 
 bool
-hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true (
-       cumulative_args_t ca ATTRIBUTE_UNUSED,
-       machine_mode mode ATTRIBUTE_UNUSED,
-       const_tree type ATTRIBUTE_UNUSED, bool named ATTRIBUTE_UNUSED)
+hook_bool_CUMULATIVE_ARGS_arg_info_true (cumulative_args_t,
+                                        const function_arg_info &)
 {
   return true;
 }
 
-bool
-hook_bool_CUMULATIVE_ARGS_arg_info_false (cumulative_args_t,
-                                         const function_arg_info &)
-{
-  return false;
-}
-
 int
 hook_int_CUMULATIVE_ARGS_arg_info_0 (cumulative_args_t,
                                     const function_arg_info &)
index 12665913bf456116ac444f80523069b5d598a256..20a6e79d2d23b2899c523612433f5a3458ef475e 100644 (file)
@@ -67,7 +67,7 @@ extern tree default_cxx_get_cookie_size (tree);
 extern bool hook_pass_by_reference_must_pass_in_stack
   (cumulative_args_t, const function_arg_info &);
 extern bool hook_callee_copies_named
-  (cumulative_args_t ca, machine_mode, const_tree, bool);
+  (cumulative_args_t ca, const function_arg_info &);
 
 extern void default_print_operand (FILE *, rtx, int);
 extern void default_print_operand_address (FILE *, machine_mode, rtx);
@@ -135,12 +135,10 @@ extern void default_goacc_reduction (gcall *);
 extern bool hook_bool_CUMULATIVE_ARGS_false (cumulative_args_t);
 extern bool hook_bool_CUMULATIVE_ARGS_true (cumulative_args_t);
 
-extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false
-  (cumulative_args_t, machine_mode, const_tree, bool);
-extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
-  (cumulative_args_t, machine_mode, const_tree, bool);
 extern bool hook_bool_CUMULATIVE_ARGS_arg_info_false
   (cumulative_args_t, const function_arg_info &);
+extern bool hook_bool_CUMULATIVE_ARGS_arg_info_true
+  (cumulative_args_t, const function_arg_info &);
 extern int hook_int_CUMULATIVE_ARGS_arg_info_0
   (cumulative_args_t, const function_arg_info &);
 extern void hook_void_CUMULATIVE_ARGS_tree