ARM: skip cmpxchg failure barrier if ordering is monotonic.
authorTim Northover <tnorthover@apple.com>
Thu, 3 Apr 2014 13:06:54 +0000 (13:06 +0000)
committerTim Northover <tnorthover@apple.com>
Thu, 3 Apr 2014 13:06:54 +0000 (13:06 +0000)
commit3eb87654a5eb16edca0c258f6beb5194951da441
tree6f8d29e70bcad3a0820e91bc18b51ca238ce05bb
parent4d243002475fdf10616e9f969cebbf8531a7c73b
ARM: skip cmpxchg failure barrier if ordering is monotonic.

The terminal barrier of a cmpxchg expansion will be either Acquire or
SequentiallyConsistent. In either case it can be skipped if the
operation has Monotonic requirements on failure.

rdar://problem/15996804

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205535 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMAtomicExpandPass.cpp
test/CodeGen/ARM/atomic-op.ll
test/CodeGen/ARM/atomic-ops-v8.ll