diff options
Diffstat (limited to 'test/Transforms/PlaceSafepoints/basic.ll')
-rw-r--r-- | test/Transforms/PlaceSafepoints/basic.ll | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/test/Transforms/PlaceSafepoints/basic.ll b/test/Transforms/PlaceSafepoints/basic.ll index 8cdbc217b8497..5cbf2798f4ae9 100644 --- a/test/Transforms/PlaceSafepoints/basic.ll +++ b/test/Transforms/PlaceSafepoints/basic.ll @@ -1,4 +1,4 @@ -; RUN: opt %s -S -place-safepoints | FileCheck %s +; RUN: opt < %s -S -place-safepoints | FileCheck %s ; Do we insert a simple entry safepoint? @@ -6,7 +6,7 @@ define void @test_entry() gc "statepoint-example" { ; CHECK-LABEL: @test_entry entry: ; CHECK-LABEL: entry -; CHECK: statepoint +; CHECK: call void @do_safepoint ret void } @@ -14,7 +14,7 @@ entry: define void @test_negative() { ; CHECK-LABEL: @test_negative entry: -; CHECK-NOT: statepoint +; CHECK-NOT: do_safepoint ret void } @@ -25,13 +25,12 @@ define void @test_backedge() gc "statepoint-example" { entry: ; CHECK-LABEL: entry ; This statepoint is technically not required, but we don't exploit that yet. -; CHECK: statepoint +; CHECK: call void @do_safepoint br label %other ; CHECK-LABEL: other -; CHECK: statepoint +; CHECK: call void @do_safepoint other: - call void undef() br label %other } @@ -41,40 +40,24 @@ define void @test_unreachable() gc "statepoint-example" { ; CHECK-LABEL: test_unreachable entry: ; CHECK-LABEL: entry -; CHECK: statepoint +; CHECK: call void @do_safepoint ret void ; CHECK-NOT: other -; CHECK-NOT: statepoint +; CHECK-NOT: do_safepoint other: br label %other } declare void @foo() -; Do we turn a call into it's own statepoint -define void @test_simple_call() gc "statepoint-example" { -; CHECK-LABEL: test_simple_call -entry: - br label %other -other: -; CHECK-LABEL: other -; CHECK: statepoint -; CHECK-NOT: gc.result - call void @foo() - ret void -} - declare zeroext i1 @i1_return_i1(i1) define i1 @test_call_with_result() gc "statepoint-example" { ; CHECK-LABEL: test_call_with_result -; This is checking that a statepoint_poll + statepoint + result is -; inserted for a function that takes 1 argument. -; CHECK: gc.statepoint.p0f_isVoidf -; CHECK: gc.statepoint.p0f_i1i1f -; CHECK: (i64 2882400000, i32 0, i1 (i1)* @i1_return_i1, i32 1, i32 0, i1 false, i32 0, i32 0) -; CHECK: %call12 = call i1 @llvm.experimental.gc.result.i1 +; This is checking that a statepoint_poll is inserted for a function +; that takes 1 argument. +; CHECK: call void @do_safepoint entry: %call1 = tail call i1 (i1) @i1_return_i1(i1 false) ret i1 %call1 |