summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-04-18 21:48:55 +0000
committerTim Northover <tnorthover@apple.com>2016-04-18 21:48:55 +0000
commitb629c77692980a03cf4529cd39aff82f65e0478c (patch)
treef4f2b091954a44689c611a42511038eb733b3606 /lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp
parent5235a1b603db838df51c91782ca98155d892ff9f (diff)
downloadbcm5719-llvm-b629c77692980a03cf4529cd39aff82f65e0478c.tar.gz
bcm5719-llvm-b629c77692980a03cf4529cd39aff82f65e0478c.zip
ARM: use a pseudo-instruction for cmpxchg at -O0.
The fast register-allocator cannot cope with inter-block dependencies without spilling. This is fine for ldrex/strex loops coming from atomicrmw instructions where any value produced within a block is dead by the end, but not for cmpxchg. So we lower a cmpxchg at -O0 via a pseudo-inst that gets expanded after regalloc. Fortunately this is at -O0 so we don't have to care about performance. This simplifies the various axes of expansion considerably: we assume a strong seq_cst operation and ensure ordering via the always-present DMB instructions rather than v8 acquire/release instructions. Should fix the 32-bit part of PR25526. llvm-svn: 266679
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud