aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-07-16 03:13:02 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-07-16 03:13:02 +0000
commit6b8e29708932a08c20794f3ea96099f3dfa89573 (patch)
tree965365b63c4826e0da605174a6b8837cd05097d2 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent05fc0f25d67a815d822ac3139e5c74110280600a (diff)
downloadllvm-6b8e29708932a08c20794f3ea96099f3dfa89573.zip
llvm-6b8e29708932a08c20794f3ea96099f3dfa89573.tar.gz
llvm-6b8e29708932a08c20794f3ea96099f3dfa89573.tar.bz2
[Intrin.h] Use compiler builtins to model memory barriers
_ReadBarrier, _WriteBarrier, and _ReadWriteBarrier are essentially memory barriers of one form or another. Model these as atomic_signal_fence(ATOMIC_SEQ_CST). __faststorefence is a curious intrinsic. It's single purpose seems to an alternative to mfence when that instruction is slow. However, mfence is not always slow and is, in general, preferable to a 'lock or' sequence on certain CPUs. Give the compiler freedom to select the best sequence to get a fence. llvm-svn: 242378
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions