[PATCH] D97604: [SystemZ] Reimplement the 1-byte compare-and-swap logic

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 26 18:19:06 PST 2021


jonpa created this revision.
jonpa added reviewers: uweigand, Andreas-Krebbel.
Herald added subscribers: jfb, hiraditya.
jonpa requested review of this revision.
Herald added a project: LLVM.

Even though the implementation in emitAtomicCmpSwapW() was correct, it made Valgrind report an error.

Instead of using a RISBG on CmpVal, an LL[CH]R can be made on the OldVal, and the problem is avoided.

CmpVal: Should not need a LL[HC]R, as it should already be zero-extended also in the case of a non-constant, or?

Test updating only begun...


https://reviews.llvm.org/D97604

Files:
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/test/CodeGen/SystemZ/cmpxchg-01.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97604.326861.patch
Type: text/x-patch
Size: 5862 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210227/5a0bcc07/attachment.bin>


More information about the llvm-commits mailing list