[PATCH] D59036: Memory writes overlap in the pipelined loop

Brendon Cahoon via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 14 11:02:43 PDT 2019


bcahoon added inline comments.


================
Comment at: llvm/lib/CodeGen/MachinePipeliner.cpp:3170
   if (OffsetS >= OffsetD)
     return OffsetS + AccessSizeS > DeltaS;
   else
----------------
dantrushin wrote:
> BTW, is this code correct?
> I would expect something like
> 
> ```
> (OffsetS + DeltaS) <= (OffsetD + AccessSizeD) && (OffsetS + AccessSizeS + Delta) >= OffsetD
> ```
> 
> Am I missing something?
This is wrong.  I need to upstream our change to this, which is:

  return DeltaS != DeltaD || OffsetS + AccessSizeS < OffsetD + AccessSizeD;

to replace the if-else and return.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59036/new/

https://reviews.llvm.org/D59036





More information about the llvm-commits mailing list