diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:41:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:41:05 +0000 |
commit | 01095a5d43bbfde13731688ddcf6048ebb8b7721 (patch) | |
tree | 4def12e759965de927d963ac65840d663ef9d1ea /test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll | |
parent | f0f4822ed4b66e3579e92a89f368f8fb860e218e (diff) |
Diffstat (limited to 'test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll')
-rw-r--r-- | test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll b/test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll index 95a42846a2fe1..5db6d7ad6aedb 100644 --- a/test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll +++ b/test/Transforms/RewriteStatepointsForGC/base-pointers-6.ll @@ -1,4 +1,4 @@ -; RUN: opt %s -rewrite-statepoints-for-gc -spp-print-base-pointers -S 2>&1 | FileCheck %s +; RUN: opt < %s -rewrite-statepoints-for-gc -spp-print-base-pointers -S 2>&1 | FileCheck %s ; CHECK: derived %merged_value base %merged_value.base @@ -8,34 +8,30 @@ define i64 addrspace(1)* @test(i64 addrspace(1)* %base_obj_x, i64 addrspace(1)* entry: br i1 %runtime_condition_x, label %here, label %there -here: - br i1 %runtime_condition_y, label %bump_here_a, label %bump_here_b +here: ; preds = %entry + br i1 %runtime_condition_y, label %bump_here_a, label %bump_here_b -bump_here_a: +bump_here_a: ; preds = %here %x_a = getelementptr i64, i64 addrspace(1)* %base_obj_x, i32 1 br label %merge_here -bump_here_b: +bump_here_b: ; preds = %here %x_b = getelementptr i64, i64 addrspace(1)* %base_obj_x, i32 2 br label %merge_here - -merge_here: - %x = phi i64 addrspace(1)* [ %x_a , %bump_here_a ], [ %x_b , %bump_here_b ] +merge_here: ; preds = %bump_here_b, %bump_here_a + %x = phi i64 addrspace(1)* [ %x_a, %bump_here_a ], [ %x_b, %bump_here_b ] br label %merge -there: +there: ; preds = %entry %y = getelementptr i64, i64 addrspace(1)* %base_obj_y, i32 1 br label %merge -merge: +merge: ; preds = %there, %merge_here ; CHECK: merge: ; CHECK: %merged_value.base = phi i64 addrspace(1)* [ %base_obj_x, %merge_here ], [ %base_obj_y, %there ] ; CHECK-NEXT: %merged_value = phi i64 addrspace(1)* [ %x, %merge_here ], [ %y, %there ] %merged_value = phi i64 addrspace(1)* [ %x, %merge_here ], [ %y, %there ] - %safepoint_token = call token (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 0, i32 0, void ()* @site_for_call_safpeoint, i32 0, i32 0, i32 0, i32 5, i32 0, i32 -1, i32 0, i32 0, i32 0) + call void @site_for_call_safpeoint() [ "deopt"(i32 0, i32 -1, i32 0, i32 0, i32 0) ] ret i64 addrspace(1)* %merged_value } - -declare void @do_safepoint() -declare token @llvm.experimental.gc.statepoint.p0f_isVoidf(i64, i32, void ()*, i32, i32, ...) |