[PATCH]: Fix PR 29587

Daniel Berlin dberlin@dberlin.org
Mon Nov 13 02:59:00 GMT 2006


This was a use of a ridiculous amount of memory due to variables not
collapsing during substitution.  The root cause is they were being
marked as having address taken due to escaping (Note this is an
internal address taken flag), causing them to not be collapsed.  While
it may seem counterintuitive, they should not be marked address taken
for collapsing purposes simply because they escape.
The address taken flag has no other use in PTA other than to determine
whether it could possibly cause precision loss to collapse variables.
It can never cause precision loss in this case (and if it did, it
would only cause the answer to be more conservative, not more
aggressive).

Bootstrapped and regtested i686-pc-linux-gnu, applied to mainline and 4.2.

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.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 29587.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20061113/e61303b0/attachment.txt>


More information about the Gcc-patches mailing list