about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorEric Holk <eric.holk@gmail.com>2012-06-21 15:01:32 -0700
committerEric Holk <eric.holk@gmail.com>2012-06-29 18:37:29 -0700
commit0a99912cddbc707a93d282055cabb950fbde3f55 (patch)
treef3bae471e1513a471587f87cc9e24406960567a2 /src/rustllvm/RustWrapper.cpp
parent3b5d76d1e364da54e9e8f39e8baa4a4949a956cf (diff)
downloadrust-0a99912cddbc707a93d282055cabb950fbde3f55.tar.gz
rust-0a99912cddbc707a93d282055cabb950fbde3f55.zip
Adding a bunch of atomic intrinsics.
Adding a test cases for the atomic intrinsics.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
-rw-r--r--src/rustllvm/RustWrapper.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index bdf16266d2e..6d99b0f4cb1 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -172,3 +172,13 @@ extern "C" LLVMTypeRef LLVMMetadataTypeInContext(LLVMContextRef C) {
 extern "C" LLVMTypeRef LLVMMetadataType(void) {
   return LLVMMetadataTypeInContext(LLVMGetGlobalContext());
 }
+
+extern "C" LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B,
+                                           AtomicRMWInst::BinOp op,
+                                           LLVMValueRef target,
+                                           LLVMValueRef source,
+                                           AtomicOrdering order) {
+    return wrap(unwrap(B)->CreateAtomicRMW(op,
+                                           unwrap(target), unwrap(source),
+                                           order));
+}