1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -basicaa -globals-aa -gvn -S | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) 4*9880d681SAndroid Build Coastguard Workerdefine void @foo(i8* %x, i8* %y) { 5*9880d681SAndroid Build Coastguard Worker call void @llvm.memcpy.p0i8.p0i8.i32(i8* %x, i8* %y, i32 1, i32 1, i1 false); 6*9880d681SAndroid Build Coastguard Worker ret void 7*9880d681SAndroid Build Coastguard Worker} 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine void @bar(i8* %y, i8* %z) { 10*9880d681SAndroid Build Coastguard Worker %x = alloca i8 11*9880d681SAndroid Build Coastguard Worker call void @foo(i8* %x, i8* %y) 12*9880d681SAndroid Build Coastguard Worker %t = load i8, i8* %x 13*9880d681SAndroid Build Coastguard Worker store i8 %t, i8* %y 14*9880d681SAndroid Build Coastguard Worker; CHECK: store i8 %t, i8* %y 15*9880d681SAndroid Build Coastguard Worker ret void 16*9880d681SAndroid Build Coastguard Worker} 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerdefine i32 @foo2() { 20*9880d681SAndroid Build Coastguard Worker %foo = alloca i32 21*9880d681SAndroid Build Coastguard Worker call void @bar2(i32* %foo) 22*9880d681SAndroid Build Coastguard Worker %t0 = load i32, i32* %foo, align 4 23*9880d681SAndroid Build Coastguard Worker; CHECK: %t0 = load i32, i32* %foo, align 4 24*9880d681SAndroid Build Coastguard Worker ret i32 %t0 25*9880d681SAndroid Build Coastguard Worker} 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerdefine void @bar2(i32* %foo) { 28*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %foo, align 4 29*9880d681SAndroid Build Coastguard Worker tail call void @llvm.dbg.value(metadata !{}, i64 0, metadata !{}, metadata !{}) 30*9880d681SAndroid Build Coastguard Worker ret void 31*9880d681SAndroid Build Coastguard Worker} 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone 34