diff options
author | Eric Christopher <echristo@gcc.gnu.org> | 2003-05-30 16:23:59 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gcc.gnu.org> | 2003-05-30 16:23:59 +0000 |
commit | 9a38893aa75ebb4447f960f3e5a865e7f580e2cc (patch) | |
tree | 46ac2187ea7809b4c5b633df7c1ea719edee4a3b | |
parent | 3e98a1199bb8b4f5b9e1f05447af02ad4b884634 (diff) | |
download | gcc-9a38893aa75ebb4447f960f3e5a865e7f580e2cc.zip gcc-9a38893aa75ebb4447f960f3e5a865e7f580e2cc.tar.gz gcc-9a38893aa75ebb4447f960f3e5a865e7f580e2cc.tar.bz2 |
mips.c (extern_list): Add GTY marker.
2003-05-30 Eric Christopher <echristo@redhat.com>
* config/mips/mips.c (extern_list): Add GTY marker.
(extern_head): Separate out definition. Add marker.
(mips_output_external): Use ggc_alloc for extern_list
allocation.
(mips_output_external_libcall): Ditto.
From-SVN: r67245
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 16 |
2 files changed, 19 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cc07233..79063f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-05-30 Eric Christopher <echristo@redhat.com> + + * config/mips/mips.c (extern_list): Add GTY marker. + (extern_head): Separate out definition. Add marker. + (mips_output_external): Use ggc_alloc for extern_list + allocation. + (mips_output_external_libcall): Ditto. + 2003-05-30 Florian Weimer <fw@deneb.enyo.de> * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or @@ -151,7 +159,7 @@ (type_contains_placeholder_p): New function. * fold-const.c (fold, case COMPONENT_REF): Don't fold if type_contains_placeholder_p. - (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold): + (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold): Use CONTAINS_PLACEHOLDER_P macro. * builtins.c (fold_builtin): Likewise. * calls.c (initialize_argument_information): Likewise. @@ -164,7 +172,7 @@ 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net> * diagnostic.h (output_verbatim, verbatim): Remove printf - attribute. + attribute. 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index e795a85..d77a3eb 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -458,12 +458,14 @@ FILE *asm_out_text_file; for the global pointer if they haven't been declared by the end of the program with an appropriate .comm or initialization. */ -struct extern_list +struct extern_list GTY (()) { struct extern_list *next; /* next external */ const char *name; /* name of the external */ int size; /* size in bytes */ -} *extern_head = 0; +}; + +static GTY (()) struct extern_list *extern_head = 0; /* Name of the file containing the current function. */ const char *current_function_file = ""; @@ -2894,7 +2896,7 @@ mips_output_move (dest, src) if (dest_code == REG) { if (GP_REG_P (REGNO (dest))) - return "move\t%0,%z1"; + return "or\t%0,%z1,$0"; if (MD_REG_P (REGNO (dest))) return "mt%0\t%z1"; @@ -2961,7 +2963,7 @@ mips_output_move (dest, src) break; case CONSTANT_GP: - return "move\t%0,%1"; + return "or\t%0,%1,$0"; case CONSTANT_RELOC: return (TARGET_MIPS16 ? "li\t%0,0\n\taddiu\t%0,%1" : "li\t%0,%1"); @@ -6253,7 +6255,7 @@ mips_output_external (file, decl, name) || strcmp (TREE_STRING_POINTER (section_name), ".sbss") == 0 || strcmp (TREE_STRING_POINTER (section_name), ".sdata") == 0)) { - p = (struct extern_list *) xmalloc (sizeof (struct extern_list)); + p = (struct extern_list *) ggc_alloc (sizeof (struct extern_list)); p->next = extern_head; p->name = name; p->size = len; @@ -6269,7 +6271,7 @@ mips_output_external (file, decl, name) bootstrap under Irix 5.1. */ && strcmp (name, "__builtin_next_arg")) { - p = (struct extern_list *) xmalloc (sizeof (struct extern_list)); + p = (struct extern_list *) ggc_alloc (sizeof (struct extern_list)); p->next = extern_head; p->name = name; p->size = -1; @@ -6288,7 +6290,7 @@ mips_output_external_libcall (file, name) { register struct extern_list *p; - p = (struct extern_list *) xmalloc (sizeof (struct extern_list)); + p = (struct extern_list *) ggc_alloc (sizeof (struct extern_list)); p->next = extern_head; p->name = name; p->size = -1; |