20 lines · plain
1; RUN: opt < %s -passes=argpromotion2 3declare void @llvm.gcroot(ptr, ptr)4 5define i32 @g() {6entry:7 %var = alloca i328 store i32 1, ptr %var9 %x = call i32 @f(ptr %var)10 ret i32 %x11}12 13define internal i32 @f(ptr %xp) gc "example" {14entry:15 %var = alloca ptr16 call void @llvm.gcroot(ptr %var, ptr null)17 %x = load i32, ptr %xp18 ret i32 %x19}20