[PATCH] D81671: [SystemZ] Bugfix in storeLoadCanUseBlockBinary()
Jonas Paulsson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 16 00:31:03 PDT 2020
jonpa added a comment.
In D81671#2092717 <https://reviews.llvm.org/D81671#2092717>, @uweigand wrote:
> Shouldn't the check be done **inside** canUseBlockOperation? I believe the other user (storeLoadCanUseMVC) really needs the same check.
My understanding is that storeLoadCanUseBlockBinary() is used as a pattern matching predicate for block memory operations of AND/OR/XOR. These involve two loads and one store. While canUseBlockOperation() has checks for a pair of a store and the load (of the other address), the second load (to the same address as the store) also needs to be checked, which is what this patch does.
The other user of canUseBlockOperation() is storeLoadCanUseMVC() which however only involves one load and one store, and this is why there is no need for anything else in this case.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D81671/new/
https://reviews.llvm.org/D81671
More information about the llvm-commits
mailing list