[llvm] [MachinePipeliner] Fix store-store dependences (#72508) (PR #72575)

Yuta Mukai via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 1 07:16:55 PST 2023


ytmukai wrote:

Thanks for the updates. Unfortunately, `getIncrementValue()` is not implemented for PowerPC, so `isLoopCarriedDep()` always returns true. The first case would therefore increase scheduling constraints unnecessarily. But it needs to be resolved by implementing `getIncrementValue()`, and I think this modification is correct.

> The case of loop carried dependence without an existing loop independent dependence will be handled in a subsequent patch, in a different place.

Do you have any thoughts on how it should be modified? I think the following two modifications are needed.
* Fix `addLoopCarriedDependences()` to verify dependencies for all pairs of memory accesses where at least one is a store.
* Fix the graph so it does not need to be a DAG and represent upward dependencies in a straightforward manner.

https://github.com/llvm/llvm-project/pull/72575


More information about the llvm-commits mailing list