------- Comment #7 from dberlin at gcc dot gnu dot org 2009-02-04 00:29 ------- Subject: Re: PTA constraint processing for *x = y is wrong
On Tue, Feb 3, 2009 at 9:24 AM, rguenther at suse dot de <gcc-bugzi...@gcc.gnu.org> wrote: > > > ------- Comment #6 from rguenther at suse dot de 2009-02-03 14:24 ------- > Subject: Re: PTA constraint processing for *x > = y is wrong > > On Tue, 3 Feb 2009, dberlin at dberlin dot org wrote: > >> Subject: Re: PTA constraint processing for *x = >> y is wrong >> >> There used to be a *ANYTHING = ANYTHING constraint + ANYTHING >> containing all the variables pointing to ANYTHING that would have >> taken care of this. >> You certainly don't want to dynamically add all variables at solving >> time yourself, since that can't be optimized. > > This is the reason it "works" for ESCAPED, there we have an > *ESCAPED = ESCAPED constraint. It doesn't work for CALLUSED though, > I have a simple fix (CALLUSED is not big usually, so just not using > it as a placeholder fixes the issue here). > > For the ANYTHING problem I have just dealt with it in do_ds_constraint > (I'll post an updated patch soon after testing finished). My onl concern is practicality. The last time I did this solely at solving time it was ridiculously slow on large cases, since the solver is much better at difference propagation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39074