]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR bootstrap/14671 (caller-save.c:491: internal compiler error: Segmentation fault)
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Fri, 28 May 2004 17:27:27 +0000 (17:27 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Fri, 28 May 2004 17:27:27 +0000 (17:27 +0000)
PR bootstrap/14671
* alias.c (init_alias_analysis): Allocate alias_invariant array with
ggc_alloc_cleared instead of xrealloc.
(end_alias_analysis): Don't free alias_invariant.

From-SVN: r82371

gcc/ChangeLog
gcc/alias.c

index 31fcba844268cac53c709f4f3f4ce02b19a35bf3..aa2183f5b98e63f8210d7386503a927c0e613920 100644 (file)
@@ -1,3 +1,10 @@
+2004-05-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR bootstrap/14671
+       * alias.c (init_alias_analysis): Allocate alias_invariant array with
+       ggc_alloc_cleared instead of xrealloc.
+       (end_alias_analysis): Don't free alias_invariant.
+
 2004-05-27  Richard Henderson  <rth@redhat.com>
 
        Backport from mainline:
index e320a6f0efc6b1737233093e6f7fed97050aa9cb..abc98de7557adb54a17febcabe422b6a6436c85b 100644 (file)
@@ -2786,10 +2786,8 @@ init_alias_analysis ()
   reg_seen = (char *) xmalloc (reg_base_value_size);
   if (! reload_completed && flag_unroll_loops)
     {
-      /* ??? Why are we realloc'ing if we're just going to zero it?  */
-      alias_invariant = (rtx *)xrealloc (alias_invariant,
-                                        reg_base_value_size * sizeof (rtx));
-      memset ((char *)alias_invariant, 0, reg_base_value_size * sizeof (rtx));
+      alias_invariant = (rtx *) ggc_alloc_cleared (reg_base_value_size
+                                                  * sizeof (rtx));
       alias_invariant_size = reg_base_value_size;
     }
 
@@ -2985,7 +2983,6 @@ end_alias_analysis ()
   reg_base_value_size = 0;
   if (alias_invariant)
     {
-      free (alias_invariant);
       alias_invariant = 0;
       alias_invariant_size = 0;
     }