[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