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 | 524686738460d61df0cb46d1398fffa9734f1378 (patch) | |
| tree | 0c8575397f2551bca1b01b4cc0f2dfeaee0292e2 /llvm/docs/Atomics.rst | |
| parent | 9d677131c441dd238f8d5b218b1cb9ef47cac5c2 (diff) | |
| download | bcm5719-llvm-524686738460d61df0cb46d1398fffa9734f1378.tar.gz bcm5719-llvm-524686738460d61df0cb46d1398fffa9734f1378.zip | |
[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
llvm-svn: 247429
Diffstat (limited to 'llvm/docs/Atomics.rst')
| -rw-r--r-- | llvm/docs/Atomics.rst | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/docs/Atomics.rst b/llvm/docs/Atomics.rst index 9068df46b02..79ab74792dd 100644 --- a/llvm/docs/Atomics.rst +++ b/llvm/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()`` |

