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