mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
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
This commit is contained in:
parent
636ae2b660
commit
e1a9d504a3
@ -494,7 +494,9 @@ private:
|
||||
void visitResumeInst (TerminatorInst &I) { /*returns void*/ }
|
||||
void visitUnreachableInst(TerminatorInst &I) { /*returns void*/ }
|
||||
void visitFenceInst (FenceInst &I) { /*returns void*/ }
|
||||
void visitAtomicCmpXchgInst (AtomicCmpXchgInst &I) { markOverdefined(&I); }
|
||||
void visitAtomicCmpXchgInst(AtomicCmpXchgInst &I) {
|
||||
markAnythingOverdefined(&I);
|
||||
}
|
||||
void visitAtomicRMWInst (AtomicRMWInst &I) { markOverdefined(&I); }
|
||||
void visitAllocaInst (Instruction &I) { markOverdefined(&I); }
|
||||
void visitVAArgInst (Instruction &I) { markAnythingOverdefined(&I); }
|
||||
|
9
test/Transforms/SCCP/atomic.ll
Normal file
9
test/Transforms/SCCP/atomic.ll
Normal file
@ -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
|
||||
}
|
Loading…
Reference in New Issue
Block a user