1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -basicaa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; CHECK: Just Ref: call void @ro() <-> call void @f0() 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdeclare void @f0() 7*9880d681SAndroid Build Coastguard Workerdeclare void @ro() readonly 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine void @test0() { 10*9880d681SAndroid Build Coastguard Worker call void @f0() 11*9880d681SAndroid Build Coastguard Worker call void @ro() 12*9880d681SAndroid Build Coastguard Worker ret void 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker; 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*9880d681SAndroid Build Coastguard Worker; 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*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker@A = external global i8 21*9880d681SAndroid Build Coastguard Worker@B = external global i8 22*9880d681SAndroid Build Coastguard Workerdefine void @test1() { 23*9880d681SAndroid Build Coastguard Worker call void @llvm.memset.p0i8.i64(i8* @A, i8 0, i64 1, i32 1, i1 false) 24*9880d681SAndroid Build Coastguard Worker call void @llvm.memset.p0i8.i64(i8* @B, i8 0, i64 1, i32 1, i1 false) 25*9880d681SAndroid Build Coastguard Worker ret void 26*9880d681SAndroid Build Coastguard Worker} 27