[PATCH] D57820: [AArch64] Use CAS loops for all atomic operations when available.

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 6 07:14:16 PST 2019


t.p.northover created this revision.
Herald added subscribers: jfb, hiraditya, kristof.beyls, javed.absar, mcrosier.
Herald added a project: LLVM.

The code is slightly larger than LDXR/STXR loops but doesn't suffer from the starvation issues with asymmetric cores it was (at least partly) added to solve so it's probably better to avoid LDXR across the board.


Repository:
  rL LLVM

https://reviews.llvm.org/D57820

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/Transforms/AtomicExpand/AArch64/expand-atomic-i128.ll
  llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-nand.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57820.185548.patch
Type: text/x-patch
Size: 46453 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190206/e05ac231/attachment.bin>


More information about the llvm-commits mailing list