Fix for PR1633: Verifier doesn't fully verify GC intrinsics

LLVM now enforces the following prototypes for the write barriers:

<ty>* @llvm.gcread(<ty2>*, <ty>**)
void @llvm.gcwrite(<ty>*, <ty2>*, <ty>**)

And for @llvm.gcroot, the first stack slot is verified to be an alloca or a 
bitcast of an alloca.

Fixes test/CodeGen/Generic/GC/lower_gcroot.ll, which violated these.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42051 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Verifier/gcroot-meta.ll b/test/Verifier/gcroot-meta.ll
new file mode 100644
index 0000000..51d1951
--- /dev/null
+++ b/test/Verifier/gcroot-meta.ll
@@ -0,0 +1,16 @@
+; RUN: not llvm-as < %s
+; PR1633
+
+%meta = type { i8* }
+%obj = type { %meta* }
+
+declare void @llvm.gcroot(%obj**, %meta*)
+
+define void @f() {
+entry:
+	%local.obj = alloca %obj*
+	%local.meta = alloca %meta
+	call void @llvm.gcroot(%obj** %local.obj, %meta* %local.meta)
+	
+	ret void
+}