[PATCH] D118102: [LoopInterchange] Detect output dependency of a store instruction with itself
Congzhe Cao via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 10 20:01:41 PST 2022
congzhe added a comment.
According to our discussion, I've updated the test cases and retitled this patch to "Detect output dependency of a store instruction with itself". I revised three test files to make dependence analysis work more reasonably: `lcssa-preheader.ll`, `perserve-lcssa.ll`, `pr45743-move-from-inner-preheader.ll`.
I removed the legacy test case `lcssa_08()` in `lcssa-preheader.ll` since it says we should not move the instruction `%wide.trip.count = zext i32 %m to i64` to BB `outer.header` otherwise lcssa would break. The original patch (https://reviews.llvm.org/D75943) claimed it should be moved into `outer.preheader`, which was the initial behavior of this test.
In the early days our capability to deal with lcssa phis was limited. More recently after this patch https://reviews.llvm.org/rG8393b9fd1f36d9273fa0720872e3996495aacc1c, we do move %wide.trip.count = zext i32 %m to i64` to BB `outer.header`, because we've dealt with lcssa phis more appropriately. This to some extent invalidates the original test `lcssa_08()`, hence I removed it in this patch.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118102/new/
https://reviews.llvm.org/D118102
More information about the llvm-commits
mailing list