summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/process
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2016-02-19 00:06:41 +0000
committerPhilip Reames <listmail@philipreames.com>2016-02-19 00:06:41 +0000
commit1960cfd32306d2d36b5a26c737575e11043569bb (patch)
tree4f33eb9b089ebed9d49d1f944d5c6c68f6b5317a /lldb/packages/Python/lldbsuite/test/python_api/process
parent878ae0188919c0499ce2623cf50d8a0edc61d558 (diff)
downloadbcm5719-llvm-1960cfd32306d2d36b5a26c737575e11043569bb.tar.gz
bcm5719-llvm-1960cfd32306d2d36b5a26c737575e11043569bb.zip
[IR] Extend cmpxchg to allow pointer type operands
Today, we do not allow cmpxchg operations with pointer arguments. We require the frontend to insert ptrtoint casts and do the cmpxchg in integers. While correct, this is problematic from a couple of perspectives: 1) It makes the IR harder to analyse (for instance, it make capture tracking overly conservative) 2) It pushes work onto the frontend authors for no real gain This patch implements the simplest form of IR support. As we did with floating point loads and stores, we teach AtomicExpand to convert back to the old representation. This prevents us needing to change all backends in a single lock step change. Over time, we can migrate each backend to natively selecting the pointer type. In the meantime, we get the advantages of a cleaner IR representation without waiting for the backend changes. Differential Revision: http://reviews.llvm.org/D17413 llvm-svn: 261281
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud