aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@gcc.gnu.org>2003-05-30 16:23:59 +0000
committerEric Christopher <echristo@gcc.gnu.org>2003-05-30 16:23:59 +0000
commit9a38893aa75ebb4447f960f3e5a865e7f580e2cc (patch)
tree46ac2187ea7809b4c5b633df7c1ea719edee4a3b
parent3e98a1199bb8b4f5b9e1f05447af02ad4b884634 (diff)
downloadgcc-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/ChangeLog12
-rw-r--r--gcc/config/mips/mips.c16
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;