diff options
author | Martin Storsjo <martin@martin.st> | 2016-09-30 19:13:46 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2016-09-30 19:13:46 +0000 |
commit | ed95a08ea4e7bf62d7dc71388b61991de065da5b (patch) | |
tree | 905ca6b2f6f6850df3dbda7e7a5471b67b6fccf7 /llvm/lib/Support/PrettyStackTrace.cpp | |
parent | c16219486a30076752d6803c68ab6f883b5fd4a4 (diff) | |
download | llvm-ed95a08ea4e7bf62d7dc71388b61991de065da5b.zip llvm-ed95a08ea4e7bf62d7dc71388b61991de065da5b.tar.gz llvm-ed95a08ea4e7bf62d7dc71388b61991de065da5b.tar.bz2 |
[MS] Implement __iso_volatile loads/stores as builtins
These are supposed to produce the same as normal volatile
pointer loads/stores. When -volatile:ms is specified,
normal volatile pointers are forced to have atomic semantics
(as is the default on x86 in MSVC mode). In that case,
these builtins should still produce non-atomic volatile
loads/stores without acquire/release semantics, which
the new test verifies.
These are only available on ARM (and on AArch64,
although clang doesn't support AArch64/Windows yet).
This implements what is missing for PR30394, making it possible
to compile C++ for ARM in MSVC mode with MSVC headers.
Differential Revision: https://reviews.llvm.org/D24986
llvm-svn: 282900
Diffstat (limited to 'llvm/lib/Support/PrettyStackTrace.cpp')
0 files changed, 0 insertions, 0 deletions