; RUN: llvm-as < %s | llc

implementation

declare sbyte* %llvm_gc_allocate(uint)
declare void %llvm_gc_initialize(uint)

declare void %llvm.gcroot(sbyte**, sbyte*)
declare void %llvm.gcwrite(sbyte*, sbyte*, sbyte**)

int %main() {
entry:
	%A = alloca sbyte*
	%B = alloca sbyte**

	call void %llvm_gc_initialize(uint 1048576)  ; Start with 1MB heap

        ;; void *A;
	call void %llvm.gcroot(sbyte** %A, sbyte* null)

        ;; A = gcalloc(10);
	%Aptr = call sbyte* %llvm_gc_allocate(uint 10)
	store sbyte* %Aptr, sbyte** %A

        ;; void **B;
	%tmp.1 = cast sbyte*** %B to sbyte **
	call void %llvm.gcroot(sbyte** %tmp.1, sbyte* null)

	;; B = gcalloc(4);
	%B = call sbyte* %llvm_gc_allocate(uint 8)
	%tmp.2 = cast sbyte* %B to sbyte**
	store sbyte** %tmp.2, sbyte*** %B

	;; *B = A;
	%B.1 = load sbyte*** %B
	%A.1 = load sbyte** %A
	call void %llvm.gcwrite(sbyte* %A.1, sbyte* %B, sbyte** %B.1)
	
	br label %AllocLoop

AllocLoop:
	%i = phi uint [ 0, %entry ], [ %indvar.next, %AllocLoop ]
        ;; Allocated mem: allocated memory is immediately dead.
	call sbyte* %llvm_gc_allocate(uint 100)
	
	%indvar.next = add uint %i, 1
	%exitcond = seteq uint %indvar.next, 10000000
	br bool %exitcond, label %Exit, label %AllocLoop

Exit:
	ret int 0
}

declare void %__main()
