* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
(m68hc11_function_arg_advance): Delete.
* config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Delete.
* config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
Take a const_tree and a bool.
(m68hc11_function_arg_advance): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
From-SVN: r166039
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
+ (m68hc11_function_arg_advance): Delete.
+ * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
+ Take a const_tree and a bool.
+ (m68hc11_function_arg_advance): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
* config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
extern void expand_prologue (void);
extern void expand_epilogue (void);
-#ifdef TREE_CODE
-extern void m68hc11_function_arg_advance (CUMULATIVE_ARGS*,
- enum machine_mode,
- tree,
- int);
-#endif
-
#ifdef RTX_CODE
extern int m68hc11_auto_inc_p (rtx);
extern void m68hc11_init_cumulative_args (CUMULATIVE_ARGS*, tree, rtx);
-extern rtx m68hc11_function_arg (const CUMULATIVE_ARGS* ,
- enum machine_mode,
- tree, int);
#ifdef ARGS_SIZE_RTX
extern enum direction m68hc11_function_arg_padding (enum machine_mode,
const_tree);
static bool m68hc11_can_eliminate (const int, const int);
static void m68hc11_trampoline_init (rtx, tree, rtx);
+static rtx m68hc11_function_arg (CUMULATIVE_ARGS*, enum machine_mode,
+ const_tree, bool);
+static void m68hc11_function_arg_advance (CUMULATIVE_ARGS*, enum machine_mode,
+ const_tree, bool);
+
/* Must be set to 1 to produce debug messages. */
int debug_m6811 = 0;
#undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS m68hc11_init_libfuncs
+#undef TARGET_FUNCTION_ARG
+#define TARGET_FUNCTION_ARG m68hc11_function_arg
+#undef TARGET_FUNCTION_ARG_ADVANCE
+#define TARGET_FUNCTION_ARG_ADVANCE m68hc11_function_arg_advance
+
#undef TARGET_STRUCT_VALUE_RTX
#define TARGET_STRUCT_VALUE_RTX m68hc11_struct_value_rtx
#undef TARGET_RETURN_IN_MEMORY
of mode MODE and data type TYPE.
(TYPE is null for libcalls where that information may not be available.) */
-void
+static void
m68hc11_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named ATTRIBUTE_UNUSED)
+ const_tree type, bool named ATTRIBUTE_UNUSED)
{
if (mode != BLKmode)
{
NAMED is nonzero if this argument is a named parameter
(otherwise it is an extra parameter matching an ellipsis). */
-struct rtx_def *
-m68hc11_function_arg (const CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type ATTRIBUTE_UNUSED, int named ATTRIBUTE_UNUSED)
+static rtx
+m68hc11_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
+ const_tree type ATTRIBUTE_UNUSED,
+ bool named ATTRIBUTE_UNUSED)
{
if (cum->words != 0)
{
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \
(m68hc11_init_cumulative_args (&CUM, FNTYPE, LIBNAME))
-/* Update the data in CUM to advance over an argument of mode MODE and data
- type TYPE. (TYPE is null for libcalls where that information may not be
- available.) */
-#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \
- (m68hc11_function_arg_advance (&CUM, MODE, TYPE, NAMED))
-
-/* Define where to put the arguments to a function.
- Value is zero to push the argument on the stack,
- or a hard register in which to store the argument.
-
- MODE is the argument's machine mode.
- TYPE is the data type of the argument (as a tree).
- This is null for libcalls where that information may
- not be available.
- CUM is a variable of type CUMULATIVE_ARGS which gives info about
- the preceding args and about the function being called.
- NAMED is nonzero if this argument is a named parameter
- (otherwise it is an extra parameter matching an ellipsis). */
-#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \
- (m68hc11_function_arg (&CUM, MODE, TYPE, NAMED))
-
/* Define the profitability of saving registers around calls.
Disable this because the saving instructions generated by