1; RUN: llc -verify-machineinstrs < %s | FileCheck %s 2 3; Without removal of duplicate entries, the size is 62 lines 4; CHECK: .section .llvm_stackmaps,{{.*$}} 5; CHECK-NEXT:{{(.+$[[:space:]]){48}[[:space:]]}} 6; CHECK-NOT:{{.|[[:space:]]}} 7 8target triple = "x86_64-pc-linux-gnu" 9 10declare void @func() 11 12define i1 @test1(i32 addrspace(1)* %arg) gc "statepoint-example" { 13entry: 14 %safepoint_token = call token (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 0, i32 0, void ()* @func, i32 0, i32 0, i32 0, i32 0) ["gc-live"(i32 addrspace(1)* %arg)] 15 %reloc1 = call i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(token %safepoint_token, i32 0, i32 0) 16 %reloc2 = call i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(token %safepoint_token, i32 0, i32 0) 17 %cmp1 = icmp eq i32 addrspace(1)* %reloc1, null 18 %cmp2 = icmp eq i32 addrspace(1)* %reloc2, null 19 %cmp = and i1 %cmp1, %cmp2 20 ret i1 %cmp 21} 22 23declare token @llvm.experimental.gc.statepoint.p0f_isVoidf(i64, i32, void ()*, i32, i32, ...) 24declare i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(token, i32, i32) 25