diff options
Diffstat (limited to 'test/CodeGen/Generic/GC/alloc_loop.ll')
-rw-r--r-- | test/CodeGen/Generic/GC/alloc_loop.ll | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/test/CodeGen/Generic/GC/alloc_loop.ll b/test/CodeGen/Generic/GC/alloc_loop.ll deleted file mode 100644 index fb78ba2cd1..0000000000 --- a/test/CodeGen/Generic/GC/alloc_loop.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s - - -declare i8* @llvm_gc_allocate(i32) -declare void @llvm_gc_initialize(i32) - -declare void @llvm.gcroot(i8**, i8*) -declare void @llvm.gcwrite(i8*, i8*, i8**) - -define i32 @main() gc "shadow-stack" { -entry: - %A = alloca i8* - %B = alloca i8** - - call void @llvm_gc_initialize(i32 1048576) ; Start with 1MB heap - - ;; void *A; - call void @llvm.gcroot(i8** %A, i8* null) - - ;; A = gcalloc(10); - %Aptr = call i8* @llvm_gc_allocate(i32 10) - store i8* %Aptr, i8** %A - - ;; void **B; - %tmp.1 = bitcast i8*** %B to i8** - call void @llvm.gcroot(i8** %tmp.1, i8* null) - - ;; B = gcalloc(4); - %B.upgrd.1 = call i8* @llvm_gc_allocate(i32 8) - %tmp.2 = bitcast i8* %B.upgrd.1 to i8** - store i8** %tmp.2, i8*** %B - - ;; *B = A; - %B.1 = load i8*** %B - %A.1 = load i8** %A - call void @llvm.gcwrite(i8* %A.1, i8* %B.upgrd.1, i8** %B.1) - - br label %AllocLoop - -AllocLoop: - %i = phi i32 [ 0, %entry ], [ %indvar.next, %AllocLoop ] - ;; Allocated mem: allocated memory is immediately dead. - call i8* @llvm_gc_allocate(i32 100) - - %indvar.next = add i32 %i, 1 - %exitcond = icmp eq i32 %indvar.next, 10000000 - br i1 %exitcond, label %Exit, label %AllocLoop - -Exit: - ret i32 0 -} - -declare void @__main() |