[InstCombine] Signed saturation tests. NFC
[llvm-core.git] / test / Transforms / PlaceSafepoints / call-in-loop.ll
blob7601b6c81fe994a18d6764d3cad84f1bb811bd96
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 | 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