diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-01-26 15:50:55 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-01-26 15:50:55 +0000 |
commit | 2001a5cf1f14c861eb216494030719b402355480 (patch) | |
tree | d25448a402a20209e9855cd0b5f48855c7a498e1 /gcc | |
parent | f9ba5949c966ee7267016544115addb761a63b62 (diff) | |
download | gcc-2001a5cf1f14c861eb216494030719b402355480.zip gcc-2001a5cf1f14c861eb216494030719b402355480.tar.gz gcc-2001a5cf1f14c861eb216494030719b402355480.tar.bz2 |
ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
* config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
(ns32k_struct_value_rtx): Likewise.
* config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
NS32K_STRUCT_VALUE_REGNUM.
From-SVN: r76638
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/ns32k/ns32k.c | 13 | ||||
-rw-r--r-- | gcc/config/ns32k/ns32k.h | 4 |
3 files changed, 21 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60c03f1..753aaee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> + * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. + (ns32k_struct_value_rtx): Likewise. + * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to + NS32K_STRUCT_VALUE_REGNUM. + +2004-01-26 Kazu Hirata <kazu@cs.umass.edu> + * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. diff --git a/gcc/config/ns32k/ns32k.c b/gcc/config/ns32k/ns32k.c index e80724e..ff9f5a7 100644 --- a/gcc/config/ns32k/ns32k.c +++ b/gcc/config/ns32k/ns32k.c @@ -1,5 +1,5 @@ /* Subroutines for assembler code output on the NS32000. - Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 + Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. This file is part of GCC. @@ -73,6 +73,7 @@ static void ns32k_output_function_prologue (FILE *, HOST_WIDE_INT); static void ns32k_output_function_epilogue (FILE *, HOST_WIDE_INT); static bool ns32k_rtx_costs (rtx, int, int, int *); static int ns32k_address_cost (rtx); +static rtx ns32k_struct_value_rtx (tree, int); /* Initialize the GCC target structure. */ #undef TARGET_ATTRIBUTE_TABLE @@ -96,6 +97,9 @@ static int ns32k_address_cost (rtx); #undef TARGET_ADDRESS_COST #define TARGET_ADDRESS_COST ns32k_address_cost +#undef TARGET_STRUCT_VALUE_RTX +#define TARGET_STRUCT_VALUE_RTX ns32k_struct_value_rtx + #undef TARGET_ASM_FILE_START_APP_OFF #define TARGET_ASM_FILE_START_APP_OFF true @@ -1557,3 +1561,10 @@ output_move_dconst (int n, const char *s) strcat (r, s); return r; } + +static rtx +ns32k_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED, + int incoming ATTRIBUTE_UNUSED) +{ + return gen_rtx_REG (Pmode, NS32K_STRUCT_VALUE_REGNUM); +} diff --git a/gcc/config/ns32k/ns32k.h b/gcc/config/ns32k/ns32k.h index 091b138..2a1dab0 100644 --- a/gcc/config/ns32k/ns32k.h +++ b/gcc/config/ns32k/ns32k.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. NS32000 version. Copyright (C) 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002 Free Software Foundation, Inc. + 2001, 2002, 2004 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) This file is part of GCC. @@ -404,7 +404,7 @@ while (0) /* Register in which address to store a structure value is passed to a function. */ -#define STRUCT_VALUE_REGNUM 2 +#define NS32K_STRUCT_VALUE_REGNUM 2 /* Define the classes of registers for register constraints in the machine description. Also define ranges of constants. |