f0f1a631d08da11dfbe4b85e4672c7ac5b107248
[oota-llvm.git] / test / Analysis / BasicAA / getmodrefinfo-cs-cs.ll
1 ; RUN: opt < %s -basicaa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
2
3
4 ; CHECK: Just Ref: call void @ro() <-> call void @f0()
5
6 declare void @f0()
7 declare void @ro() readonly
8
9 define void @test0() {
10   call void @f0()
11   call void @ro()
12   ret void
13 }
14
15 ; CHECK: NoModRef:   call void @llvm.memset.p0i8.i64(i8* @A, i8 0, i64 1, i32 1, i1 false) <->   call void @llvm.memset.p0i8.i64(i8* @B, i8 0, i64 1, i32 1, i1 false)
16 ; CHECK: NoModRef:   call void @llvm.memset.p0i8.i64(i8* @B, i8 0, i64 1, i32 1, i1 false) <->   call void @llvm.memset.p0i8.i64(i8* @A, i8 0, i64 1, i32 1, i1 false)
17
18 declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind
19
20 @A = external global i8
21 @B = external global i8
22 define void @test1() {
23   call void @llvm.memset.p0i8.i64(i8* @A, i8 0, i64 1, i32 1, i1 false)
24   call void @llvm.memset.p0i8.i64(i8* @B, i8 0, i64 1, i32 1, i1 false)
25   ret void
26 }