diff options
author | Steve Ellcey <sje@gcc.gnu.org> | 2010-10-27 22:51:18 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2010-10-27 22:51:18 +0000 |
commit | eb93b893fffc4c1794821e2f1d62f4c4bac00f43 (patch) | |
tree | 4e9c32edba52df518a8f1bc1c94ab7d09992d655 | |
parent | ffa88471b5df039bb9b8b8e7ce0ce17a71a0d3bd (diff) | |
download | gcc-eb93b893fffc4c1794821e2f1d62f4c4bac00f43.zip gcc-eb93b893fffc4c1794821e2f1d62f4c4bac00f43.tar.gz gcc-eb93b893fffc4c1794821e2f1d62f4c4bac00f43.tar.bz2 |
checking in Nathan's patch because I accidently checked in part of it with my earlier patch.
checking in Nathan's patch because I accidently checked in part of it
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.
From-SVN: r166022
-rw-r--r-- | gcc/ChangeLog | 30 | ||||
-rw-r--r-- | gcc/config/ia64/ia64-protos.h | 4 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.h | 21 |
3 files changed, 30 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b2ec01c..126e0bc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h index 1a9bd87..d2393bc 100644 --- a/gcc/config/ia64/ia64-protos.h +++ b/gcc/config/ia64/ia64-protos.h @@ -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 *, diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 6fdcb97..fbee1e7 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -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. */ |