[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / llvm / test / Transforms / PlaceSafepoints / call-in-loop.ll
blob2a1892828744f04f645ee3e853aa85ad011dddf0
1 ; If there's a call in the loop which dominates the backedge, we 
2 ; don't need a safepoint poll (since the callee must contain a 
3 ; poll test).
4 ;; RUN: opt < %s -place-safepoints -S -enable-new-pm=0 | FileCheck %s
6 declare void @foo()
8 define void @test1() gc "statepoint-example" {
9 ; CHECK-LABEL: test1
11 entry:
12 ; CHECK-LABEL: entry
13 ; CHECK: call void @do_safepoint
14   br label %loop
16 loop:
17 ; CHECK-LABEL: loop
18 ; CHECK-NOT: call void @do_safepoint
19   call void @foo()
20   br label %loop
23 ; This function is inlined when inserting a poll.
24 declare void @do_safepoint()
25 define void @gc.safepoint_poll() {
26 ; CHECK-LABEL: gc.safepoint_poll
27 entry:
28   call void @do_safepoint()
29   ret void