| ; RUN: llvm-as < %s | llc -march=x86 | \ | |
| ; RUN: ignore grep {movl..0} | count 0 | |
| %struct.obj = type { i8*, %struct.obj* } | |
| declare void @g() gc "shadow-stack" | |
| define void @f(i8* %o) gc "shadow-stack" { | |
| entry: | |
| %root = alloca i8* | |
| call void @llvm.gcroot(i8** %root, i8* null) | |
| store i8* %o, i8** %root | |
| call void @g() | |
| ret void | |
| } | |
| declare void @llvm.gcroot(i8**, i8*) |