forked from OSchip/llvm-project
Tests for changes made in r45356, where IPO optimizations would drop
collector algorithms. llvm-svn: 45357
This commit is contained in:
parent
520e64c0c2
commit
d89e645c38
|
|
@ -0,0 +1,19 @@
|
|||
; RUN: llvm-as < %s | opt -anders-aa -argpromotion
|
||||
|
||||
declare void @llvm.gcroot(i8**, i8*)
|
||||
|
||||
define i32 @g() {
|
||||
entry:
|
||||
%var = alloca i32
|
||||
store i32 1, i32* %var
|
||||
%x = call i32 @f(i32* %var)
|
||||
ret i32 %x
|
||||
}
|
||||
|
||||
define internal i32 @f(i32* %xp) gc "example" {
|
||||
entry:
|
||||
%var = alloca i8*
|
||||
call void @llvm.gcroot(i8** %var, i8* null)
|
||||
%x = load i32* %xp
|
||||
ret i32 %x
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
; RUN: llvm-as < %s | opt -deadargelim
|
||||
|
||||
declare void @llvm.gcroot(i8**, i8*)
|
||||
|
||||
define void @g() {
|
||||
entry:
|
||||
call void @f(i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
define internal void @f(i32 %unused) gc "example" {
|
||||
entry:
|
||||
%var = alloca i8*
|
||||
call void @llvm.gcroot(i8** %var, i8* null)
|
||||
ret void
|
||||
}
|
||||
Loading…
Reference in New Issue