[PATCH] D108281: [GVN] Improve alias analysis for parallel accesses
Michael Kruse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 18 09:04:56 PDT 2021
Meinersbur requested changes to this revision.
Meinersbur added a comment.
This revision now requires changes to proceed.
`llvm.loop.parallel_accesses` is only relative to the loop that it is attached to. The information is not useful if not also passing the loop under consideration. That is, the access may be "parallel" in one loop but not in another. For instance:
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
A[j] = ...; // DepInst
use(A[j]); // QueryInst
}
}
Clearly, DepInst and QueryInst do alias every time, yet the `j`-loop can be execute in parallel so `llvm.loop.parallel_accesses` can be attached to it. However, the i-loop cannot be executed in parallel.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108281/new/
https://reviews.llvm.org/D108281
More information about the llvm-commits
mailing list