diff options
Diffstat (limited to 'test/CodeGen/Generic/GC/redundant_init.ll')
-rw-r--r-- | test/CodeGen/Generic/GC/redundant_init.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/CodeGen/Generic/GC/redundant_init.ll b/test/CodeGen/Generic/GC/redundant_init.ll new file mode 100644 index 000000000000..44996034748b --- /dev/null +++ b/test/CodeGen/Generic/GC/redundant_init.ll @@ -0,0 +1,17 @@ +; 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*) |