[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / RewriteStatepointsForGC / statepoint-coreclr.ll
blob9f88c79cd99dbfa79ac54797c55ff7b827f6ab8f
1 ; RUN: opt < %s -S -rewrite-statepoints-for-gc | FileCheck %s
2 ; RUN: opt < %s -S -passes=rewrite-statepoints-for-gc | FileCheck %s
4 ; Basic test to make sure that safepoints are placed
5 ; for CoreCLR GC
7 declare void @foo()
9 define void @test_simple_call() gc "coreclr" {
10 ; CHECK-LABEL: test_simple_call
11 entry:
12   br label %other
13 other:
14 ; CHECK-LABEL: other
15 ; CHECK: statepoint
16 ; CHECK-NOT: gc.result
17   call void @foo()
18   ret void
21 ; This function is inlined when inserting a poll.  To avoid recursive
22 ; issues, make sure we don't place safepoints in it.
23 declare void @do_safepoint()
24 define void @gc.safepoint_poll() {
25 ; CHECK-LABEL: gc.safepoint_poll
26 ; CHECK-LABEL: entry
27 ; CHECK-NEXT: do_safepoint
28 ; CHECK-NEXT: ret void
29 entry:
30   call void @do_safepoint()
31   ret void