[PATCH] [LAA] Merge memchecks for accesses separated by a constant offset

silviu.baranga at arm.com silviu.baranga at arm.com
Mon Jun 22 09:14:11 PDT 2015

Hi Adam,

In http://reviews.llvm.org/D10386#190514, @anemet wrote:

> > The biggest problem as far as I can see is that we could in theory have
> >  pointers to the same underlying object which we can't order (and it might be
> >  impossible to determine the full order in all cases)
> I think we already have this distinction available as well.  You're right that this could happen within a DepCands set.  These I believe would be marked Dependence::Unknown.
> So perhaps the approach should be to build the groups from the InterestingDependences.  Any known dependence would put the two participating pointers in the same group.
> (You may need to start recording forward dependences as well which we don't do currently.)

I've looked at this in more detail, and there is a problem with NoDep dependencies since they are not considered to be either forward or backward.  We need to consider these as well, since otherwise we would not cover common cases (and also wouldn't solve the problem for interleaved accesses).

We could add some new types of NoDeps to get that information. I hope that adding these as well (plus the forward ones) won't exceed the maximum number of interesting dependencies too often.




More information about the llvm-commits mailing list