]> granicus.if.org Git - clang/commit
Intrin.h: Clean up our atomic intrinsics
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 13 Jul 2015 02:53:19 +0000 (02:53 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 13 Jul 2015 02:53:19 +0000 (02:53 +0000)
commit0b49372f51439613fcb7744b1f109dfa708b8935
tree67b32e4ab5c18bb5e9e0088dabfe008db1137250
parentaf09ddd8674318e20255a9cde1d36f5fe7541c93
Intrin.h: Clean up our atomic intrinsics

Three things:
- The atomic intrinsics mandate memory barriers, let's start emitting
  some.
- We don't need to manually create RMW operations, we can just do
  __atomic_fetch_foo instead of performing __atomic_foo_fetch and
  undoing foo.
- Don't use inline assembly, we don't need it for these intrinsics.

This fixes PR24101.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242009 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Headers/Intrin.h