Implement AccessesArguments checking in the two-callsite form
[oota-llvm.git] / test / Analysis / BasicAA / getmodrefinfo-cs-cs.ll
index f655913f3d129c7a5c4b60d81b60410b9178923d..12b088b1f6518adfe0c24854d44789f263171731 100644 (file)
@@ -1,12 +1,26 @@
 ; RUN: opt < %s -aa-eval -print-all-alias-modref-info -disable-output |& FileCheck %s
 
+
 ; CHECK: Just Ref: call void @ro() <-> call void @f0()
 
 declare void @f0()
 declare void @ro() readonly
 
-define void @test() {
+define void @test0() {
   call void @f0()
   call void @ro()
   ret void
 }
+
+; 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)
+; 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)
+
+declare void @llvm.memset.i64(i8*, i8, i64, i32)
+
+@A = external global i8
+@B = external global i8
+define void @test1() {
+  call void @llvm.memset.i64(i8* @A, i8 0, i64 1, i32 1)
+  call void @llvm.memset.i64(i8* @B, i8 0, i64 1, i32 1)
+  ret void
+}