llvm.org GIT mirror llvm / e25a48d
[RS4GC] Strengthen coverage: add more tests Summary: Add tests for cases where we have zero coverage in RS4GC. Reviewers: sanjoy, reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25341 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283591 91177308-0d34-0410-b5e6-96231b3b80d8 Anna Thomas 2 years ago
2 changed file(s) with 27 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
2020 call void @baz() [ "deopt"(i32 13) ]
2121 ret void
2222 }
23
24 ; add deopt-lowering attribute as part of callsite
25 define void @test2() gc "statepoint-example" {
26 ; CHECK-LABEL: @test2(
27 ; CHECK: @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 2882400000, i32 0, void ()* @foo, i32 0, i32 2, i32 0, i32 1, i32 57)
28
29 entry:
30 call void @foo() "deopt-lowering"="live-in" [ "deopt"(i32 57) ]
31 ret void
32 }
33
0 ; RUN: opt -S -rewrite-statepoints-for-gc < %s | FileCheck %s
1 ; Ensure statepoints copy (valid) attributes from callsites.
2
3 declare void @f(i8 addrspace(1)* %obj)
4
5 ; copy over norecurse noimplicitfloat to statepoint call
6 define void @test1(i8 addrspace(1)* %arg) gc "statepoint-example" {
7 ; CHECK-LABEL: test1(
8 ; CHECK: call token (i64, i32, void (i8 addrspace(1)*)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidp1i8f(i64 2882400000, i32 0, void (i8 addrspace(1)*)* @f, i32 1, i32 0, i8 addrspace(1)* %arg, i32 0, i32 0, i8 addrspace(1)* %arg) #1
9
10 call void @f(i8 addrspace(1)* %arg) #1
11 ret void
12 }
13
14
15 attributes #1 = { norecurse noimplicitfloat }