[PATCH] D77213: Handle part-word LL/SC in atomic expansion pass

Krzysztof Parzyszek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 1 06:35:18 PDT 2020


kparzysz created this revision.
kparzysz added a reviewer: jyknight.
Herald added subscribers: jfb, hiraditya.
Herald added a project: LLVM.

Extend the current LL/SC structure to include part-word extracts and inserts.

Extend `PartwordMaskValues` struct to provide `insert` and `extract` operations that also work (as no-ops) for full-word operations. This allows using a single expansion routine to generate code for both full- and part-word atomic operations.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D77213

Files:
  llvm/lib/CodeGen/AtomicExpandPass.cpp
  llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
  llvm/test/CodeGen/Hexagon/partword-cmpxchg.ll
  llvm/test/Transforms/AtomicExpand/ARM/atomic-expansion-v7.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77213.254178.patch
Type: text/x-patch
Size: 21156 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200401/d680bd1f/attachment.bin>


More information about the llvm-commits mailing list