llvm-ar: Clean up memory management with OwningPtr.
[oota-llvm.git] / test / Transforms / LowerAtomic / atomic-swap.ll
index 0a59c8595e6a0f67aad1716571ff482505ad2a53..5e2f034a5177a80493fb3bda7dc56f6fb7fbe3c0 100644 (file)
@@ -1,12 +1,9 @@
 ; RUN: opt < %s -loweratomic -S | FileCheck %s
 
-declare i8 @llvm.atomic.cmp.swap.i8.p0i8(i8* %ptr, i8 %cmp, i8 %val)
-declare i8 @llvm.atomic.swap.i8.p0i8(i8* %ptr, i8 %val)
-
 define i8 @cmpswap() {
 ; CHECK: @cmpswap
   %i = alloca i8
-  %j = call i8 @llvm.atomic.cmp.swap.i8.p0i8(i8* %i, i8 0, i8 42)
+  %j = cmpxchg i8* %i, i8 0, i8 42 monotonic
 ; CHECK: [[INST:%[a-z0-9]+]] = load
 ; CHECK-NEXT: icmp
 ; CHECK-NEXT: select
@@ -18,7 +15,7 @@ define i8 @cmpswap() {
 define i8 @swap() {
 ; CHECK: @swap
   %i = alloca i8
-  %j = call i8 @llvm.atomic.swap.i8.p0i8(i8* %i, i8 42)
+  %j = atomicrmw xchg i8* %i, i8 42 monotonic
 ; CHECK: [[INST:%[a-z0-9]+]] = load
 ; CHECK-NEXT: store
   ret i8 %j