1 ; RUN: opt %s -S -place-safepoints | FileCheck %s 2 3 ; Basic test to make sure that safepoints are placed 4 ; for CoreCLR GC 5 6 declare void @foo() 7 8 define void @test_simple_call() gc "coreclr" { 9 ; CHECK-LABEL: test_simple_call 10 entry: 11 br label %other 12 other: 13 ; CHECK-LABEL: other 14 ; CHECK: statepoint 15 ; CHECK-NOT: gc.result 16 call void @foo() 17 ret void 18 } 19 20 ; This function is inlined when inserting a poll. To avoid recursive 21 ; issues, make sure we don't place safepoints in it. 22 declare void @do_safepoint() 23 define void @gc.safepoint_poll() { 24 ; CHECK-LABEL: gc.safepoint_poll 25 ; CHECK-LABEL: entry 26 ; CHECK-NEXT: do_safepoint 27 ; CHECK-NEXT: ret void 28 entry: 29 call void @do_safepoint() 30 ret void 31 } 32