Update gc intrinsics to take pointer to object as well as pointer to field.
authorChris Lattner <sabre@nondot.org>
Thu, 22 Jul 2004 05:48:38 +0000 (05:48 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 22 Jul 2004 05:48:38 +0000 (05:48 +0000)
Patch contributed by Tobias Nurmiranta

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15094 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/Generic/GC/alloc_loop.ll

index 254f56dbe0631345599382d4d46c20b740da4ef0..2354f284637660aca2aa6599df460771f2a14407 100644 (file)
@@ -4,7 +4,7 @@ declare sbyte* %llvm_gc_allocate(uint)
 declare void %llvm_gc_initialize(uint)
 
 declare void %llvm.gcroot(sbyte**, sbyte*)
-declare void %llvm.gcwrite(sbyte*, sbyte**)
+declare void %llvm.gcwrite(sbyte*, sbyte*, sbyte**)
 
 int %main() {
 entry:
@@ -32,7 +32,7 @@ entry:
        ;; *B = A;
        %B.1 = load sbyte*** %B
        %A.1 = load sbyte** %A
-       call void %llvm.gcwrite(sbyte* %A.1, sbyte** %B.1)
+       call void %llvm.gcwrite(sbyte* %A.1, sbyte* %B, sbyte** %B.1)
        
        br label %AllocLoop