xref: /llvm-project/llvm/test/Transforms/PlaceSafepoints/no-statepoints.ll (revision 1ceb79e2e075745f0c02aa8206227f60362e3743)
1*1ceb79e2SJan Dupej; RUN: opt -S -passes=place-safepoints < %s | FileCheck %s
2fe755af3SPhilip Reames
3fe755af3SPhilip Reamesdeclare void @callee()
4fe755af3SPhilip Reames
5fe755af3SPhilip Reamesdefine void @test() gc "statepoint-example" {
6fe755af3SPhilip Reames; CHECK-LABEL: test(
7fe755af3SPhilip Reamesentry:
8fe755af3SPhilip Reames; CHECK: entry:
9fe755af3SPhilip Reames; CHECK: call void @do_safepoint()
10fe755af3SPhilip Reames  br label %other
11fe755af3SPhilip Reames
12fe755af3SPhilip Reamesother:
13fe755af3SPhilip Reames; CHECK: other:
14fe755af3SPhilip Reames  call void @callee() "gc-leaf-function"
15fe755af3SPhilip Reames; CHECK: call void @do_safepoint()
16fe755af3SPhilip Reames  br label %other
17fe755af3SPhilip Reames}
18fe755af3SPhilip Reames
19fe755af3SPhilip Reamesdeclare void @do_safepoint()
20fe755af3SPhilip Reamesdefine void @gc.safepoint_poll() {
21fe755af3SPhilip Reames  call void @do_safepoint()
22fe755af3SPhilip Reames  ret void
23fe755af3SPhilip Reames}
24