From e1db959ec22712376763e062dc2fbffc18f33d9c Mon Sep 17 00:00:00 2001 From: Luqman Aden Date: Sun, 21 Oct 2012 22:23:50 -0400 Subject: rustc: add new intrinsics - atomic_cxchg{_acq,_rel} --- src/rustllvm/RustWrapper.cpp | 8 ++++++++ src/rustllvm/rustllvm.def.in | 1 + 2 files changed, 9 insertions(+) (limited to 'src/rustllvm') diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 498a4e137f0..39a707ad320 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -482,6 +482,14 @@ extern "C" LLVMTypeRef LLVMMetadataType(void) { return LLVMMetadataTypeInContext(LLVMGetGlobalContext()); } +extern "C" LLVMValueRef LLVMBuildAtomicCmpXchg(LLVMBuilderRef B, + LLVMValueRef target, + LLVMValueRef old, + LLVMValueRef source, + AtomicOrdering order) { + return wrap(unwrap(B)->CreateAtomicCmpXchg(unwrap(target), unwrap(old), + unwrap(source), order)); +} extern "C" LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B, AtomicRMWInst::BinOp op, LLVMValueRef target, diff --git a/src/rustllvm/rustllvm.def.in b/src/rustllvm/rustllvm.def.in index 36833e5175e..44636f4f36b 100644 --- a/src/rustllvm/rustllvm.def.in +++ b/src/rustllvm/rustllvm.def.in @@ -84,6 +84,7 @@ LLVMArrayType LLVMBasicBlockAsValue LLVMBlockAddress LLVMBuildAShr +LLVMBuildAtomicCmpXchg LLVMBuildAtomicRMW LLVMBuildAdd LLVMBuildAggregateRet -- cgit 1.4.1-3-g733a5