[PATCH] D10386: [LAA] Merge memchecks for accesses separated by a constant offset
silviu.baranga at arm.com
silviu.baranga at arm.com
Wed Jul 15 09:42:19 PDT 2015
sbaranga added a comment.
Hi Adam,
In http://reviews.llvm.org/D10386#202281, @anemet wrote:
> In http://reviews.llvm.org/D10386#201889, @sbaranga wrote:
>
> > Ok, that makes sense. I already have the updated veto-ing algorithm, but I'd like to add it under a different review instead of rolling everything back. Is that ok with you?
>
>
> Sure, thanks.
I'm still having trouble with producing a testcase for the 'veto' approach.
Looking at the logic in analyzeLoops:
In order to need memory checks, first we need Accesses.isDependencyCheckNeeded() to evaluate to true.
Since we need an unknown dependence between two objects to get into the 'veto' case, it follows that areDepsSafe will return false (we have al least one unknown dependence).
This causes us to take the "!CanVecMem && DepChecker.shouldRetryWithRuntimeCheck()" branch and reset the dependence checks, which in turn will cause us to not group pointers.
I'm sure we could end up in the 'veto' case by tweaking the logic in 'analyzeLoops', but not sure how to do that without this. Can you see any issues with the reasoning above?
Thanks,
Silviu
Repository:
rL LLVM
http://reviews.llvm.org/D10386
More information about the llvm-commits
mailing list