; RUN: opt < %s -passes=argpromotion declare void @llvm.gcroot(ptr, ptr) define i32 @g() { entry: %var = alloca i32 store i32 1, ptr %var %x = call i32 @f(ptr %var) ret i32 %x } define internal i32 @f(ptr %xp) gc "example" { entry: %var = alloca ptr call void @llvm.gcroot(ptr %var, ptr null) %x = load i32, ptr %xp ret i32 %x }