]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR java/29587 (jc1: out of memory allocating 4072 bytes after a total of 708630224...
authorDaniel Berlin <dberlin@dberlin.org>
Mon, 13 Nov 2006 02:18:07 +0000 (02:18 +0000)
committerDaniel Berlin <dberlin@gcc.gnu.org>
Mon, 13 Nov 2006 02:18:07 +0000 (02:18 +0000)
2006-11-12  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/29587
* tree-ssa-structalias.c (process_constraint): Don't
mark address taken due only to escaped vars constraint.

From-SVN: r118742

gcc/ChangeLog
gcc/tree-ssa-structalias.c

index bf326de9eea956846ed734d8d6ad4d94a623a817..ce01cd2c684f1f4471216f0100373204d5b6d661 100644 (file)
@@ -1,3 +1,9 @@
+2006-11-12  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/29587
+       * tree-ssa-structalias.c (process_constraint): Don't
+       mark address taken due only to escaped vars constraint.
+
 2006-11-12  Michael Matz  <matz@suse.de>
            Roger Sayle  <roger@eyesopen.com>
 
index c7ee8aabaecd3bb781a1f437c901b50310d92bb4..42099ddedd4aee8e93b7f287e2fb6226407ad8ad 100644 (file)
@@ -2327,8 +2327,11 @@ process_constraint (constraint_t t)
       varinfo_t vi;
       gcc_assert (rhs.offset == 0);
       
-      for (vi = get_varinfo (rhs.var); vi != NULL; vi = vi->next)
-       vi->address_taken = true;
+      /* No need to mark address taken simply because of escaped vars
+        constraints.  */
+      if (lhs.var != escaped_vars_id)
+       for (vi = get_varinfo (rhs.var); vi != NULL; vi = vi->next)
+         vi->address_taken = true;
 
       VEC_safe_push (constraint_t, heap, constraints, t);
     }