[PATCH] D155520: [LV] Complete load groups and release store groups in presence of dependency

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 27 08:58:40 PDT 2023


anna added a comment.

I reduced the testcase enough to show how GroupA can be same as `GroupB`, but there are two ways to fix this:

- Identify that GroupA is same as GroupB and once we released groupA, we should iterate to the next `B` instruction (in the outer loop).
- GroupA which is being released should never be same as `GroupB` and we do this by making sure that there's no dependency between *any of* the stores when inserting into GroupB. AFAICT, we don't do that since we check only between A and B when inserting (store) A into (store) groupB.

I will go with the first fix (since it seems the easier way to do). I think if we were to make this a more robust algorithm, we should just remove the stores that are dependent rather than releasing the entire storeGroup.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D155520



More information about the llvm-commits mailing list