OSDN Git Service

checking in Nathan's patch because I accidently checked in part of it
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 2010 22:51:18 +0000 (22:51 +0000)
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 2010 22:51:18 +0000 (22:51 +0000)
with my earlier patch.  Also adding ChangeLog entry I forgot.

2010-10-27  Nathan Froyd  <froydnj@codesourcery.com>

        * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
        (ia64_function_arg_advance): Delete.
        * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
        (FUNCTION_ARG_ADVANCE): Delete.
        * config/ia64/ia64.c (ia64_function_arg): Rename to...
        (ia64_function_arg_1): ...this.  Make static.  Take const_tree and
        bool arguments.
        (ia64_function_arg, ia64_function_incoming_arg): New functions.
        (ia64_function_arg_advance): Make static.  Take a const_tree and
        a bool.
        (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
        (TARGET_FUNCTION_ARG_ADVANCE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166022 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/ia64/ia64-protos.h
gcc/config/ia64/ia64.h

index b2ec01c..126e0bc 100644 (file)
@@ -1,3 +1,33 @@
+2010-10-27  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
+       (ia64_function_arg_advance): Delete.
+       * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
+       (FUNCTION_ARG_ADVANCE): Delete.
+       * config/ia64/ia64.c (ia64_function_arg): Rename to...
+       (ia64_function_arg_1): ...this.  Make static.  Take const_tree and
+       bool arguments.
+       (ia64_function_arg, ia64_function_incoming_arg): New functions.
+       (ia64_function_arg_advance): Make static.  Take a const_tree and
+       a bool.
+       (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
+       (TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-27  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
+       (TARGET_GET_RAW_ARG_MODE): New.
+       * doc/tm.texi: Regenerate.
+       * target.def (get_raw_result_mode): New.
+       (get_raw_arg_mode): New.
+       * targhooks.c (default_get_reg_raw_mode): New.
+       * targhooks.h (default_get_reg_raw_mode): New.
+       * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
+       (apply_result_size): Ditto.
+       * config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
+       (TARGET_GET_RAW_RESULT_MODE): Define.
+       (TARGET_GET_RAW_ARG_MODE): Ditto.
+
 2010-10-27  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
index 1a9bd87..d2393bc 100644 (file)
@@ -63,14 +63,10 @@ extern const char *get_bundle_name (int);
 
 #ifdef TREE_CODE
 #ifdef RTX_CODE
-extern rtx ia64_function_arg (CUMULATIVE_ARGS *, enum machine_mode,
-                             tree, int, int);
 extern rtx ia64_expand_builtin (tree, rtx, rtx, enum machine_mode, int);
 extern rtx ia64_va_arg (tree, tree);
 #endif /* RTX_CODE */
 
-extern void ia64_function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode,
-                                      tree, int);
 extern int ia64_function_arg_boundary (enum machine_mode, tree);
 extern void ia64_asm_output_external (FILE *, tree, const char *);
 extern void ia64_vms_output_aligned_decl_common (FILE *, tree, const char *,
index 6fdcb97..fbee1e7 100644 (file)
@@ -1026,19 +1026,6 @@ enum reg_class
 #define FR_RET_LAST  FR_REG (15)
 #define AR_ARG_FIRST OUT_REG (0)
 
-/* A C expression that controls whether a function argument is passed in a
-   register, and which register.  */
-
-#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \
-  ia64_function_arg (&CUM, MODE, TYPE, NAMED, 0)
-
-/* Define this macro if the target machine has "register windows", so that the
-   register in which a function sees an arguments is not necessarily the same
-   as the one in which the caller passed the argument.  */
-
-#define FUNCTION_INCOMING_ARG(CUM, MODE, TYPE, NAMED) \
-  ia64_function_arg (&CUM, MODE, TYPE, NAMED, 1)
-
 /* A C type for declaring a variable that is used as the first argument of
    `FUNCTION_ARG' and other related values.  For some target machines, the type
    `int' suffices and can hold the number of bytes of argument so far.  */
@@ -1086,14 +1073,6 @@ do {                                                                     \
   (CUM).atypes[6] = (CUM).atypes[7] = I64;                              \
 } while (0)
 
-/* A C statement (sans semicolon) to update the summarizer variable CUM to
-   advance past an argument in the argument list.  The values MODE, TYPE and
-   NAMED describe that argument.  Once this is done, the variable CUM is
-   suitable for analyzing the *following* argument with `FUNCTION_ARG'.  */
-
-#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \
- ia64_function_arg_advance (&CUM, MODE, TYPE, NAMED)
-
 /* If defined, a C expression that gives the alignment boundary, in bits, of an
    argument with the specified mode and type.  */