1 2 3 4 5 6 7 8 9 10 11 12 13 14
; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s @flag0 = internal global i32 zeroinitializer @turn = internal global i32 zeroinitializer ; CHECK: ret i32 0 define i32 @main() { %a = load i32, i32* @flag0 %b = atomicrmw xchg i32* @turn, i32 1 monotonic %c = load i32, i32* @flag0 %d = sub i32 %a, %c ret i32 %d }