Commit d222b827 by Richard Henderson Committed by Richard Henderson

c4x-protos.h (c4x_va_arg): Remove.

        * config/c4x/c4x-protos.h (c4x_va_arg): Remove.
        * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
        * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84311
parent 09eeca5e
2004-07-08 Richard Henderson <rth@redhat.com>
* config/c4x/c4x-protos.h (c4x_va_arg): Remove.
* config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
(c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
* config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.
2004-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2004-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.md (prefetch_32, prefetch_64): Simplify constraint checks. * pa.md (prefetch_32, prefetch_64): Simplify constraint checks.
......
...@@ -56,8 +56,6 @@ extern struct rtx_def *c4x_function_arg (CUMULATIVE_ARGS *, ...@@ -56,8 +56,6 @@ extern struct rtx_def *c4x_function_arg (CUMULATIVE_ARGS *,
#if defined(RTX_CODE) && defined(TREE_CODE) #if defined(RTX_CODE) && defined(TREE_CODE)
extern void c4x_init_cumulative_args (CUMULATIVE_ARGS *c, tree, rtx); extern void c4x_init_cumulative_args (CUMULATIVE_ARGS *c, tree, rtx);
extern struct rtx_def *c4x_va_arg (tree, tree);
extern rtx c4x_expand_builtin (tree, rtx, rtx, enum machine_mode, int); extern rtx c4x_expand_builtin (tree, rtx, rtx, enum machine_mode, int);
extern void c4x_init_builtins (void); extern void c4x_init_builtins (void);
......
...@@ -202,6 +202,7 @@ static int c4x_address_cost (rtx); ...@@ -202,6 +202,7 @@ static int c4x_address_cost (rtx);
static void c4x_init_libfuncs (void); static void c4x_init_libfuncs (void);
static void c4x_external_libcall (rtx); static void c4x_external_libcall (rtx);
static rtx c4x_struct_value_rtx (tree, int); static rtx c4x_struct_value_rtx (tree, int);
static tree c4x_gimplify_va_arg_expr (tree, tree, tree *, tree *);
/* Initialize the GCC target structure. */ /* Initialize the GCC target structure. */
#undef TARGET_ASM_BYTE_OP #undef TARGET_ASM_BYTE_OP
...@@ -255,6 +256,9 @@ static rtx c4x_struct_value_rtx (tree, int); ...@@ -255,6 +256,9 @@ static rtx c4x_struct_value_rtx (tree, int);
#undef TARGET_STRUCT_VALUE_RTX #undef TARGET_STRUCT_VALUE_RTX
#define TARGET_STRUCT_VALUE_RTX c4x_struct_value_rtx #define TARGET_STRUCT_VALUE_RTX c4x_struct_value_rtx
#undef TARGET_GIMPLIFY_VA_ARG_EXPR
#define TARGET_GIMPLIFY_VA_ARG_EXPR c4x_gimplify_va_arg_expr
struct gcc_target targetm = TARGET_INITIALIZER; struct gcc_target targetm = TARGET_INITIALIZER;
/* Override command line options. /* Override command line options.
...@@ -722,16 +726,20 @@ c4x_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, ...@@ -722,16 +726,20 @@ c4x_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
/* C[34]x arguments grow in weird ways (downwards) that the standard /* C[34]x arguments grow in weird ways (downwards) that the standard
varargs stuff can't handle.. */ varargs stuff can't handle.. */
rtx
c4x_va_arg (tree valist, tree type) static tree
c4x_gimplify_va_arg_expr (tree valist, tree type,
tree *pre_p ATTRIBUTE_UNUSED,
tree *post_p ATTRIBUTE_UNUSED)
{ {
tree t; tree t;
t = build (PREDECREMENT_EXPR, TREE_TYPE (valist), valist, t = build (PREDECREMENT_EXPR, TREE_TYPE (valist), valist,
build_int_2 (int_size_in_bytes (type), 0)); build_int_2 (int_size_in_bytes (type), 0));
TREE_SIDE_EFFECTS (t) = 1; t = fold_convert (build_pointer_type (type), t);
t = build_fold_indirect_ref (t);
return expand_expr (t, NULL_RTX, Pmode, EXPAND_NORMAL); return t;
} }
......
...@@ -1162,11 +1162,6 @@ CUMULATIVE_ARGS; ...@@ -1162,11 +1162,6 @@ CUMULATIVE_ARGS;
#define DEFAULT_PCC_STRUCT_RETURN 0 #define DEFAULT_PCC_STRUCT_RETURN 0
/* Varargs handling. */
#define EXPAND_BUILTIN_VA_ARG(valist, type) \
c4x_va_arg (valist, type)
/* Generating Code for Profiling. */ /* Generating Code for Profiling. */
/* Note that the generated assembly uses the ^ operator to load the 16 /* Note that the generated assembly uses the ^ operator to load the 16
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment