This is the mail archive of the
mailing list for the GCC project.
Re: [stage 2 projects] Enable new points-to solver
On Fri, 2005-07-08 at 18:27 -0400, Diego Novillo wrote:
> On Fri, Jul 08, 2005 at 06:18:03PM -0400, Daniel Berlin wrote:
> > > - Pointer arithmetic used to confuse the new solver. If it saw
> > > PTR + OFFSET, it would create one ANYTHING constraint for
> > > OFFSET, which would then be transferred into the pointer as
> > > "points-to anything" attribute.
> > BTW, we can actually do better than this if we know that the offset is
> > going to land on a field, and the user isn't just marching through the
> > structure byte by byte. Then we can safely use a regular deref + offset
> > constraint, and get much better results.
> Yes, I forgot to mention this. I have tried very hard to not
> change a lot of functionality. In the next phase, I will be
> working on the IL representation, and fine tuning the analysis.
> We will probably need a branch for that.
I've been in contact with people like David Pearce (whose solver
algorithm we use), who badly wants to play with it as well and see the
code generation differences, etc.
He probably also has some ideas on how to better propagate the ANYTHING
variables around (it might make sense to have a separate worklist for
them like we do with VARYING in Conditional Constant Propagation)