diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-09-11 17:08:28 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-09-11 17:08:28 +0000 |
commit | 74869be2733581245a0e645087b9a55f13e0fec9 (patch) | |
tree | a0a7e06db42c400f428986112a646214ee25be46 /docs/Atomics.rst | |
parent | f3d2de3832a1ca028869ac614df32a9698fc6535 (diff) |
[CodeGen] Refactor TLI/AtomicExpand interface to make LLSC explicit.
We used to have this magic "hasLoadLinkedStoreConditional()" callback,
which really meant two things:
- expand cmpxchg (to ll/sc).
- expand atomic loads using ll/sc (rather than cmpxchg).
Remove it, and, instead, introduce explicit callbacks:
- bool shouldExpandAtomicCmpXchgInIR(inst)
- AtomicExpansionKind shouldExpandAtomicLoadInIR(inst)
Differential Revision: http://reviews.llvm.org/D12557
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247429 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/Atomics.rst')
-rw-r--r-- | docs/Atomics.rst | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/Atomics.rst b/docs/Atomics.rst index 9068df46b023..79ab74792dd4 100644 --- a/docs/Atomics.rst +++ b/docs/Atomics.rst @@ -446,7 +446,7 @@ It is often easiest for backends to use AtomicExpandPass to lower some of the atomic constructs. Here are some lowerings it can do: * cmpxchg -> loop with load-linked/store-conditional - by overriding ``hasLoadLinkedStoreConditional()``, ``emitLoadLinked()``, + by overriding ``shouldExpandAtomicCmpXchgInIR()``, ``emitLoadLinked()``, ``emitStoreConditional()`` * large loads/stores -> ll-sc/cmpxchg by overriding ``shouldExpandAtomicStoreInIR()``/``shouldExpandAtomicLoadInIR()`` |