summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp
diff options
context:
space:
mode:
authorAlex Bradbury <asb@lowrisc.org>2018-08-17 14:03:37 +0000
committerAlex Bradbury <asb@lowrisc.org>2018-08-17 14:03:37 +0000
commit3291f9aa8168408ce5ef4757012c06c196a72c41 (patch)
tree250f4e4c3d2990d0ecfb1c1bb086e0e9febd3ddc /lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp
parent1962621a7e3350ed3677645dba6d0f20a765db4f (diff)
downloadbcm5719-llvm-3291f9aa8168408ce5ef4757012c06c196a72c41.tar.gz
bcm5719-llvm-3291f9aa8168408ce5ef4757012c06c196a72c41.zip
[AtomicExpandPass] Widen partword atomicrmw or/xor/and before tryExpandAtomicRMW
This patch performs a widening transformation of bitwise atomicrmw {or,xor,and} and applies it prior to tryExpandAtomicRMW. This operates similarly to convertCmpXchgToIntegerType. For these operations, the i8/i16 atomicrmw can be implemented in terms of the 32-bit atomicrmw by appropriately manipulating the operands. There is no functional change for the handling of partword or/xor, but the transformation for partword 'and' is new. The advantage of performing this transformation early is that the same code-path can be used regardless of the approach used to expand the atomicrmw (AtomicExpansionKind). i.e. the same logic is used for AtomicExpansionKind::CmpXchg and can also be used by the intrinsic-based expansion in D47882. Differential Revision: https://reviews.llvm.org/D48129 llvm-svn: 340027
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud