@@ -11,9 +11,34 @@ define void @dead_relocate(ptr addrspace(1) %in) gc "statepoint-example" {
11
11
;
12
12
entry:
13
13
%safepoint_token = call token (i64 , i32 , ptr , i32 , i32 , ...) @llvm.experimental.gc.statepoint.p0 (i64 0 , i32 0 , ptr elementtype(void ()) @func , i32 0 , i32 0 , i32 0 , i32 0 ) ["gc-live" (ptr addrspace (1 ) %in )]
14
- %a = call ptr addrspace (1 ) @llvm.experimental.gc.relocate.p1 (token %safepoint_token , i32 0 , i32 0 )
14
+ %a = call ptr addrspace (1 ) @llvm.experimental.gc.relocate.p1 (token %safepoint_token , i32 0 , i32 0 )
15
15
ret void
16
16
}
17
17
18
+ define ptr addrspace (1 ) @relocate_undef () gc "statepoint-example" {
19
+ ; CHECK-LABEL: @relocate_undef(
20
+ ; CHECK-NEXT: entry:
21
+ ; CHECK-NEXT: [[SAFEPOINT_TOKEN:%.*]] = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr elementtype(void ()) @func, i32 0, i32 0, i32 0, i32 0) [ "gc-live"(ptr addrspace(1) undef) ]
22
+ ; CHECK-NEXT: ret ptr addrspace(1) undef
23
+ ;
24
+ entry:
25
+ %safepoint_token = call token (i64 , i32 , ptr , i32 , i32 , ...) @llvm.experimental.gc.statepoint.p0 (i64 0 , i32 0 , ptr elementtype(void ()) @func , i32 0 , i32 0 , i32 0 , i32 0 ) ["gc-live" (ptr addrspace (1 ) undef )]
26
+ %a = call ptr addrspace (1 ) @llvm.experimental.gc.relocate.p1 (token %safepoint_token , i32 0 , i32 0 )
27
+ ret ptr addrspace (1 ) %a
28
+ }
29
+
30
+ define ptr addrspace (1 ) @relocate_null () gc "statepoint-example" {
31
+ ; CHECK-LABEL: @relocate_null(
32
+ ; CHECK-NEXT: entry:
33
+ ; CHECK-NEXT: [[SAFEPOINT_TOKEN:%.*]] = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr elementtype(void ()) @func, i32 0, i32 0, i32 0, i32 0) [ "gc-live"(ptr addrspace(1) null) ]
34
+ ; CHECK-NEXT: ret ptr addrspace(1) null
35
+ ;
36
+ entry:
37
+ %safepoint_token = call token (i64 , i32 , ptr , i32 , i32 , ...) @llvm.experimental.gc.statepoint.p0 (i64 0 , i32 0 , ptr elementtype(void ()) @func , i32 0 , i32 0 , i32 0 , i32 0 ) ["gc-live" (ptr addrspace (1 ) null )]
38
+ %a = call ptr addrspace (1 ) @llvm.experimental.gc.relocate.p1 (token %safepoint_token , i32 0 , i32 0 )
39
+ ret ptr addrspace (1 ) %a
40
+ }
41
+
42
+
18
43
declare token @llvm.experimental.gc.statepoint.p0 (i64 , i32 , ptr , i32 , i32 , ...)
19
44
declare ptr addrspace (1 ) @llvm.experimental.gc.relocate.p1 (token, i32 , i32 )
0 commit comments