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
+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
#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 *,
#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. */
(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. */