gn build: Merge r374476
[llvm-complete.git] / test / Analysis / BasicAA / cas.ll
blobb770cb73381af45cf90eaf7f66d04e75fd0a6e49
1 ; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s
3 @flag0 = internal global i32 zeroinitializer
4 @turn = internal global i32 zeroinitializer
6 ; CHECK: ret i32 0
8 define i32 @main() {
9   %a = load i32, i32* @flag0
10   %b = atomicrmw xchg i32* @turn, i32 1 monotonic
11   %c = load i32, i32* @flag0
12   %d = sub i32 %a, %c
13   ret i32 %d