summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-06-13 14:54:09 +0000
committerTim Northover <tnorthover@apple.com>2014-06-13 14:54:09 +0000
commite1a9d504a3fd8e2544b352224bc719d52c070ceb (patch)
treeb246b3e99d1ff43e11de65d86453b56d06c42024 /test
parent636ae2b660ecc6043ebefa6ce21d99520c088f8f (diff)
downloadllvm-e1a9d504a3fd8e2544b352224bc719d52c070ceb.tar.gz
llvm-e1a9d504a3fd8e2544b352224bc719d52c070ceb.tar.bz2
llvm-e1a9d504a3fd8e2544b352224bc719d52c070ceb.tar.xz
SCCP: update for cmpxchg returning { iN, i1 } now.
I accidentally missed this one since its use looked OK locally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210909 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/SCCP/atomic.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/Transforms/SCCP/atomic.ll b/test/Transforms/SCCP/atomic.ll
new file mode 100644
index 0000000000..60d4896ec2
--- /dev/null
+++ b/test/Transforms/SCCP/atomic.ll
@@ -0,0 +1,9 @@
+; RUN: opt < %s -sccp -S | FileCheck %s
+
+define i1 @test_cmpxchg(i32* %addr, i32 %desired, i32 %new) {
+; CHECK-LABEL: @test_cmpxchg
+; CHECK: cmpxchg i32* %addr, i32 %desired, i32 %new seq_cst seq_cst
+ %val = cmpxchg i32* %addr, i32 %desired, i32 %new seq_cst seq_cst
+ %res = extractvalue { i32, i1 } %val, 1
+ ret i1 %res
+}