[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