[llvm] [Pipeliner] Fix Phi node dependency calculation (PR #160056)
Yuta Mukai via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 21 09:13:03 PDT 2025
ytmukai wrote:
I think there's some ambiguity in how the term 'overlap' is being used. The function `mayOverlapInLaterIter()` refers to the overlap of memory access regions, whereas the modified portion of the code is checking if the two base operands are always _identical_ in value. (It is possible to guarantee non-overlap only if the two base operands are identical.)
> This patch fixes a corner case when it assumes a dependency which does not actually exist.
In that example, during the first iteration of both the outer and inner loops, `%BaseRegB = %Input` and `%BaseRegO = %Output`. Therefore, it is not guaranteed that they will hold the same value. Therefore, the function must conservatively return true.
https://github.com/llvm/llvm-project/pull/160056
More information about the llvm-commits
mailing list