1; RUN: opt < %s -passes=argpromotion 2 3declare void @llvm.gcroot(ptr, ptr) 4 5define i32 @g() { 6entry: 7 %var = alloca i32 8 store i32 1, ptr %var 9 %x = call i32 @f(ptr %var) 10 ret i32 %x 11} 12 13define internal i32 @f(ptr %xp) gc "example" { 14entry: 15 %var = alloca ptr 16 call void @llvm.gcroot(ptr %var, ptr null) 17 %x = load i32, ptr %xp 18 ret i32 %x 19} 20