Teach BasicAA a little something about the atomic intrinsics: they can only
[oota-llvm.git] / test / Analysis / BasicAA / 2009-10-13-AtomicModRef.ll
1 ; RUN: opt -gvn -S < %s | FileCheck %s
2
3 declare i8 @llvm.atomic.load.add.i8.p0i8(i8*, i8)
4
5 define void @foo(i8* %ptr) {
6   %P = getelementptr i8* %ptr, i32 0
7   %Q = getelementptr i8* %ptr, i32 1
8 ; CHECK: getelementptr
9   %X = load i8* %P
10 ; CHECK: = load
11   %Y = call i8 @llvm.atomic.load.add.i8.p0i8(i8* %Q, i8 1)
12   %Z = load i8* %P
13 ; CHECK-NOT: = load
14   ret void
15 ; CHECK: ret void
16 }