1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/Verifier/gcroot-meta.ll
Gordon Henriksen fa3a5915b1 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.

llvm-svn: 42051
2007-09-17 20:30:04 +00:00

17 lines
280 B
LLVM

; 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
}