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

silviu.baranga at arm.com silviu.baranga at arm.com
Thu Jul 2 09:14:18 PDT 2015


sbaranga added a comment.

Hi Adam,

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

> This is the way I look at this problem, please correct me if I am missing something.  We have three pointers all pointing to the same underlying object (Data).  Let's refer to them as P_am, P_a and P_b respectively.
>
> We were able to determine const distance between P_a and P_b however P_am is not constant.  In this case it seems to me that when analyzing P_am, we want to veto the merge of P_a and P_b because as in this case P_am may reside somewhere between the two objects.
>
> This does not seem like a major change to your approach and it does not seem to affect the main use-case.  What do you think?


Yes, that would also solve the cases I've seen so far and seems sensible. At this point there isn't any obvious best solution, so I have no preference.

FWIW we always want to group pointers separated by a small constant (if we get a false positive it means that the trip count was small), so veto-ing  groups with such pointers would pessimize this case. I'm not sure how frequent the case is though.

Thanks,
Silviu


http://reviews.llvm.org/D10386







More information about the llvm-commits mailing list