aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/ErrorHandling.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-06-13 19:43:04 +0000
committerTim Northover <tnorthover@apple.com>2014-06-13 19:43:04 +0000
commitcadbbe15375b20634854fa20c96f369754fa7456 (patch)
tree2287c72201a45c108e0a632cd04d705ee1bfb170 /llvm/lib/Support/ErrorHandling.cpp
parente50b2e44ef040b9ab67b107f35565d3d64344980 (diff)
downloadllvm-cadbbe15375b20634854fa20c96f369754fa7456.zip
llvm-cadbbe15375b20634854fa20c96f369754fa7456.tar.gz
llvm-cadbbe15375b20634854fa20c96f369754fa7456.tar.bz2
Atomics: emit "cmpxchg weak" where possible
Most builtins date from before the "cmpxchg weak" was a gleam in the C++ committee's eye, so fortunately not much needs to change. But a few of them *do* acknowledge that failure is possible. For these, we'll emit the usual cartesian product of cmpxchg operations if we can't statically determine weakness. CodeGen can sort it out later if the function gets inlined. The only other non-trivial aspect of this is (I think) that we emit the scalar expression for "IsWeak" once, at the beginning, and propagate its value through the successive blocks. There's not much in it, but it's slightly more consistent with the existing handling of FailureOrder. llvm-svn: 210932
Diffstat (limited to 'llvm/lib/Support/ErrorHandling.cpp')
0 files changed, 0 insertions, 0 deletions