Commit 648d2ffc by Richard Henderson

m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.

        * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
        * m88k.h, m88k.c: Likewise.
        * mn10300.h, mn10300.c: Likewise.
        * pa.h, pa.c: Likewise.
        * rs6000.h, rs6000.c: Likewise.
        * sh.h, sh.c: Likewise.
        * sparc.h, sparc.c: Likewise.

From-SVN: r28245
parent 5379f4a4
...@@ -981,7 +981,7 @@ M32R_STACK_ALIGN (current_function_outgoing_args_size) ...@@ -981,7 +981,7 @@ M32R_STACK_ALIGN (current_function_outgoing_args_size)
If this macro is not defined, the compiler will output an ordinary If this macro is not defined, the compiler will output an ordinary
call to the library function `__builtin_saveregs'. */ call to the library function `__builtin_saveregs'. */
extern struct rtx *m32r_expand_builtin_savergs (); extern struct rtx *m32r_expand_builtin_savergs ();
#define EXPAND_BUILTIN_SAVEREGS(ARGS) m32r_expand_builtin_saveregs (ARGS) #define EXPAND_BUILTIN_SAVEREGS() m32r_expand_builtin_saveregs ()
#endif #endif
/* This macro offers an alternative /* This macro offers an alternative
......
...@@ -2573,14 +2573,12 @@ m88k_function_arg (args_so_far, mode, type, named) ...@@ -2573,14 +2573,12 @@ m88k_function_arg (args_so_far, mode, type, named)
2 + args_so_far); 2 + args_so_far);
} }
/* Do what is necessary for `va_start'. The argument is ignored; /* Do what is necessary for `va_start'. We look at the current function
We look at the current function to determine if stdargs or varargs to determine if stdargs or varargs is used and fill in an initial
is used and fill in an initial va_list. A pointer to this constructor va_list. A pointer to this constructor is returned. */
is returned. */
struct rtx_def * struct rtx_def *
m88k_builtin_saveregs (arglist) m88k_builtin_saveregs ()
tree arglist;
{ {
rtx block, addr, argsize, dest; rtx block, addr, argsize, dest;
tree fntype = TREE_TYPE (current_function_decl); tree fntype = TREE_TYPE (current_function_decl);
......
...@@ -198,13 +198,13 @@ extern char * reg_names[]; ...@@ -198,13 +198,13 @@ extern char * reg_names[];
Redefined in sysv4.h, and luna.h. */ Redefined in sysv4.h, and luna.h. */
#define VERSION_INFO1 "m88k, " #define VERSION_INFO1 "m88k, "
#ifndef VERSION_INFO2 #ifndef VERSION_INFO2
#define VERSION_INFO2 "$Revision: 1.11 $" #define VERSION_INFO2 "$Revision: 1.12 $"
#endif #endif
#ifndef VERSION_STRING #ifndef VERSION_STRING
#define VERSION_STRING version_string #define VERSION_STRING version_string
#ifdef __STDC__ #ifdef __STDC__
#define TM_RCS_ID "@(#)" __FILE__ " $Revision: 1.11 $ " __DATE__ #define TM_RCS_ID "@(#)" __FILE__ " $Revision: 1.12 $ " __DATE__
#else #else
#define TM_RCS_ID "$What: <@(#) m88k.h,v 1.1.1.2.2.2> $" #define TM_RCS_ID "$What: <@(#) m88k.h,v 1.1.1.2.2.2> $"
#endif /* __STDC__ */ #endif /* __STDC__ */
...@@ -1093,7 +1093,7 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS, ...@@ -1093,7 +1093,7 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
/* Generate necessary RTL for __builtin_saveregs(). /* Generate necessary RTL for __builtin_saveregs().
ARGLIST is the argument list; see expr.c. */ ARGLIST is the argument list; see expr.c. */
#define EXPAND_BUILTIN_SAVEREGS(ARGLIST) m88k_builtin_saveregs (ARGLIST) #define EXPAND_BUILTIN_SAVEREGS() m88k_builtin_saveregs ()
/* Generate the assembly code for function entry. */ /* Generate the assembly code for function entry. */
#define FUNCTION_PROLOGUE(FILE, SIZE) m88k_begin_prologue(FILE, SIZE) #define FUNCTION_PROLOGUE(FILE, SIZE) m88k_begin_prologue(FILE, SIZE)
......
...@@ -627,8 +627,7 @@ initial_offset (from, to) ...@@ -627,8 +627,7 @@ initial_offset (from, to)
/* Flush the argument registers to the stack for a stdarg function; /* Flush the argument registers to the stack for a stdarg function;
return the new argument pointer. */ return the new argument pointer. */
rtx rtx
mn10300_builtin_saveregs (arglist) mn10300_builtin_saveregs ()
tree arglist;
{ {
rtx offset; rtx offset;
tree fntype = TREE_TYPE (current_function_decl); tree fntype = TREE_TYPE (current_function_decl);
......
...@@ -570,7 +570,7 @@ extern struct rtx_def *function_arg (); ...@@ -570,7 +570,7 @@ extern struct rtx_def *function_arg ();
_builtin_saveregs, so we must make this explicit. */ _builtin_saveregs, so we must make this explicit. */
extern struct rtx_def *mn10300_builtin_saveregs (); extern struct rtx_def *mn10300_builtin_saveregs ();
#define EXPAND_BUILTIN_SAVEREGS(ARGLIST) mn10300_builtin_saveregs (ARGLIST) #define EXPAND_BUILTIN_SAVEREGS() mn10300_builtin_saveregs ()
/* Addressing modes, and classification of registers for them. */ /* Addressing modes, and classification of registers for them. */
......
...@@ -4259,14 +4259,12 @@ function_arg_padding (mode, type) ...@@ -4259,14 +4259,12 @@ function_arg_padding (mode, type)
} }
/* Do what is necessary for `va_start'. The argument is ignored; /* Do what is necessary for `va_start'. We look at the current function
We look at the current function to determine if stdargs or varargs to determine if stdargs or varargs is used and fill in an initial
is used and fill in an initial va_list. A pointer to this constructor va_list. A pointer to this constructor is returned. */
is returned. */
struct rtx_def * struct rtx_def *
hppa_builtin_saveregs (arglist) hppa_builtin_saveregs ()
tree arglist ATTRIBUTE_UNUSED;
{ {
rtx offset, dest; rtx offset, dest;
tree fntype = TREE_TYPE (current_function_decl); tree fntype = TREE_TYPE (current_function_decl);
......
...@@ -1217,7 +1217,7 @@ extern union tree_node *current_function_decl; ...@@ -1217,7 +1217,7 @@ extern union tree_node *current_function_decl;
_builtin_saveregs, so we must make this explicit. */ _builtin_saveregs, so we must make this explicit. */
extern struct rtx_def *hppa_builtin_saveregs (); extern struct rtx_def *hppa_builtin_saveregs ();
#define EXPAND_BUILTIN_SAVEREGS(ARGLIST) hppa_builtin_saveregs (ARGLIST) #define EXPAND_BUILTIN_SAVEREGS() hppa_builtin_saveregs ()
/* Addressing modes, and classification of registers for them. /* Addressing modes, and classification of registers for them.
......
...@@ -1758,12 +1758,6 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) ...@@ -1758,12 +1758,6 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
are made. The return value of this function should be an RTX that are made. The return value of this function should be an RTX that
contains the value to use as the return of `__builtin_saveregs'. contains the value to use as the return of `__builtin_saveregs'.
The argument ARGS is a `tree_list' containing the arguments that
were passed to `__builtin_saveregs'.
If this macro is not defined, the compiler will output an ordinary
call to the library function `__builtin_saveregs'.
On the Power/PowerPC return the address of the area on the stack On the Power/PowerPC return the address of the area on the stack
used to hold arguments. Under AIX, this includes the 8 word register used to hold arguments. Under AIX, this includes the 8 word register
save area. save area.
...@@ -1774,8 +1768,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) ...@@ -1774,8 +1768,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
to a block copy. This is similar to the way we do things on Alpha. */ to a block copy. This is similar to the way we do things on Alpha. */
struct rtx_def * struct rtx_def *
expand_builtin_saveregs (args) expand_builtin_saveregs ()
tree args ATTRIBUTE_UNUSED;
{ {
rtx block, mem_gpr_fpr, mem_reg_save_area, mem_overflow, tmp; rtx block, mem_gpr_fpr, mem_reg_save_area, mem_overflow, tmp;
tree fntype; tree fntype;
......
...@@ -1566,16 +1566,10 @@ typedef struct rs6000_args ...@@ -1566,16 +1566,10 @@ typedef struct rs6000_args
code for a call to `__builtin_saveregs'. This code will be moved code for a call to `__builtin_saveregs'. This code will be moved
to the very beginning of the function, before any parameter access to the very beginning of the function, before any parameter access
are made. The return value of this function should be an RTX that are made. The return value of this function should be an RTX that
contains the value to use as the return of `__builtin_saveregs'. contains the value to use as the return of `__builtin_saveregs'. */
The argument ARGS is a `tree_list' containing the arguments that #define EXPAND_BUILTIN_SAVEREGS() \
were passed to `__builtin_saveregs'. expand_builtin_saveregs ()
If this macro is not defined, the compiler will output an ordinary
call to the library function `__builtin_saveregs'. */
#define EXPAND_BUILTIN_SAVEREGS(ARGS) \
expand_builtin_saveregs (ARGS)
/* This macro generates the assembly code for function entry. /* This macro generates the assembly code for function entry.
FILE is a stdio stream to output the code to. FILE is a stdio stream to output the code to.
......
...@@ -3872,8 +3872,7 @@ function_epilogue (stream, size) ...@@ -3872,8 +3872,7 @@ function_epilogue (stream, size)
} }
rtx rtx
sh_builtin_saveregs (arglist) sh_builtin_saveregs ()
tree arglist;
{ {
tree fntype = TREE_TYPE (current_function_decl); tree fntype = TREE_TYPE (current_function_decl);
/* First unnamed integer register. */ /* First unnamed integer register. */
......
...@@ -1153,10 +1153,9 @@ extern int current_function_anonymous_args; ...@@ -1153,10 +1153,9 @@ extern int current_function_anonymous_args;
? gen_rtx (MEM, Pmode, gen_rtx (REG, Pmode, RETURN_ADDRESS_POINTER_REGNUM)) \ ? gen_rtx (MEM, Pmode, gen_rtx (REG, Pmode, RETURN_ADDRESS_POINTER_REGNUM)) \
: (rtx) 0) : (rtx) 0)
/* Generate necessary RTL for __builtin_saveregs(). /* Generate necessary RTL for __builtin_saveregs(). */
ARGLIST is the argument list; see expr.c. */
extern struct rtx_def *sh_builtin_saveregs (); extern struct rtx_def *sh_builtin_saveregs ();
#define EXPAND_BUILTIN_SAVEREGS(ARGLIST) sh_builtin_saveregs (ARGLIST) #define EXPAND_BUILTIN_SAVEREGS() sh_builtin_saveregs ()
/* Addressing modes, and classification of registers for them. */ /* Addressing modes, and classification of registers for them. */
#define HAVE_POST_INCREMENT 1 #define HAVE_POST_INCREMENT 1
......
...@@ -4256,14 +4256,12 @@ function_value (type, mode, incoming_p) ...@@ -4256,14 +4256,12 @@ function_value (type, mode, incoming_p)
return gen_rtx_REG (mode, regno); return gen_rtx_REG (mode, regno);
} }
/* Do what is necessary for `va_start'. The argument is ignored. /* Do what is necessary for `va_start'. We look at the current function
to determine if stdarg or varargs is used and return the address of
We look at the current function to determine if stdarg or varargs the first unnamed parameter. */
is used and return the address of the first unnamed parameter. */
rtx rtx
sparc_builtin_saveregs (arglist) sparc_builtin_saveregs ()
tree arglist ATTRIBUTE_UNUSED;
{ {
int first_reg = current_function_args_info.words; int first_reg = current_function_args_info.words;
rtx address; rtx address;
......
...@@ -2039,11 +2039,10 @@ void sparc64_initialize_trampoline (); ...@@ -2039,11 +2039,10 @@ void sparc64_initialize_trampoline ();
else \ else \
sparc_initialize_trampoline (TRAMP, FNADDR, CXT) sparc_initialize_trampoline (TRAMP, FNADDR, CXT)
/* Generate necessary RTL for __builtin_saveregs(). /* Generate necessary RTL for __builtin_saveregs(). */
ARGLIST is the argument list; see expr.c. */
extern struct rtx_def *sparc_builtin_saveregs (); extern struct rtx_def *sparc_builtin_saveregs ();
#define EXPAND_BUILTIN_SAVEREGS(ARGLIST) sparc_builtin_saveregs (ARGLIST) #define EXPAND_BUILTIN_SAVEREGS() sparc_builtin_saveregs ()
/* Define this macro if the location where a function argument is passed /* Define this macro if the location where a function argument is passed
depends on whether or not it is a named argument. depends on whether or not it is a named argument.
......
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