1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -argpromotion 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.gcroot(i8**, i8*) 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine i32 @g() { 6*9880d681SAndroid Build Coastguard Workerentry: 7*9880d681SAndroid Build Coastguard Worker %var = alloca i32 8*9880d681SAndroid Build Coastguard Worker store i32 1, i32* %var 9*9880d681SAndroid Build Coastguard Worker %x = call i32 @f(i32* %var) 10*9880d681SAndroid Build Coastguard Worker ret i32 %x 11*9880d681SAndroid Build Coastguard Worker} 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine internal i32 @f(i32* %xp) gc "example" { 14*9880d681SAndroid Build Coastguard Workerentry: 15*9880d681SAndroid Build Coastguard Worker %var = alloca i8* 16*9880d681SAndroid Build Coastguard Worker call void @llvm.gcroot(i8** %var, i8* null) 17*9880d681SAndroid Build Coastguard Worker %x = load i32, i32* %xp 18*9880d681SAndroid Build Coastguard Worker ret i32 %x 19*9880d681SAndroid Build Coastguard Worker} 20