; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes=rewrite-statepoints-for-gc -S 2>&1 | FileCheck %s

declare void @site_for_call_safpeoint()

; derived %merged_value base %merged_value.base
define ptr addrspace(1) @test(ptr addrspace(1) %base_obj_x, ptr addrspace(1) %base_obj_y, i1 %runtime_condition_x, i1 %runtime_condition_y) gc "statepoint-example" {
; CHECK-LABEL: @test(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    br i1 [[RUNTIME_CONDITION_X:%.*]], label [[HERE:%.*]], label [[THERE:%.*]]
; CHECK:       here:
; CHECK-NEXT:    br i1 [[RUNTIME_CONDITION_Y:%.*]], label [[BUMP_HERE_A:%.*]], label [[BUMP_HERE_B:%.*]]
; CHECK:       bump_here_a:
; CHECK-NEXT:    [[X_A:%.*]] = getelementptr i64, ptr addrspace(1) [[BASE_OBJ_X:%.*]], i32 1
; CHECK-NEXT:    br label [[MERGE_HERE:%.*]]
; CHECK:       bump_here_b:
; CHECK-NEXT:    [[X_B:%.*]] = getelementptr i64, ptr addrspace(1) [[BASE_OBJ_Y:%.*]], i32 2
; CHECK-NEXT:    br label [[MERGE_HERE]]
; CHECK:       merge_here:
; CHECK-NEXT:    [[X_BASE:%.*]] = phi ptr addrspace(1) [ [[BASE_OBJ_X]], [[BUMP_HERE_A]] ], [ [[BASE_OBJ_Y]], [[BUMP_HERE_B]] ], !is_base_value !0
; CHECK-NEXT:    [[X:%.*]] = phi ptr addrspace(1) [ [[X_A]], [[BUMP_HERE_A]] ], [ [[X_B]], [[BUMP_HERE_B]] ]
; CHECK-NEXT:    br label [[MERGE:%.*]]
; CHECK:       there:
; CHECK-NEXT:    [[Y:%.*]] = getelementptr i64, ptr addrspace(1) [[BASE_OBJ_Y]], i32 1
; CHECK-NEXT:    br label [[MERGE]]
; CHECK:       merge:
; CHECK-NEXT:    [[MERGED_VALUE_BASE:%.*]] = phi ptr addrspace(1) [ [[X_BASE]], [[MERGE_HERE]] ], [ [[BASE_OBJ_Y]], [[THERE]] ], !is_base_value !0
; CHECK-NEXT:    [[MERGED_VALUE:%.*]] = phi ptr addrspace(1) [ [[X]], [[MERGE_HERE]] ], [ [[Y]], [[THERE]] ]
; CHECK-NEXT:    [[STATEPOINT_TOKEN:%.*]] = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr elementtype(void ()) @site_for_call_safpeoint, i32 0, i32 0, i32 0, i32 0) [ "deopt"(i32 0, i32 -1, i32 0, i32 0, i32 0), "gc-live"(ptr addrspace(1) [[MERGED_VALUE]], ptr addrspace(1) [[MERGED_VALUE_BASE]]) ]
; CHECK-NEXT:    [[MERGED_VALUE_RELOCATED:%.*]] = call coldcc ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[STATEPOINT_TOKEN]], i32 1, i32 0)
; CHECK-NEXT:    [[MERGED_VALUE_BASE_RELOCATED:%.*]] = call coldcc ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[STATEPOINT_TOKEN]], i32 1, i32 1)
; CHECK-NEXT:    ret ptr addrspace(1) [[MERGED_VALUE_RELOCATED]]
;
entry:
  br i1 %runtime_condition_x, label %here, label %there

here:                                             ; preds = %entry
  br i1 %runtime_condition_y, label %bump_here_a, label %bump_here_b

bump_here_a:                                      ; preds = %here
  %x_a = getelementptr i64, ptr addrspace(1) %base_obj_x, i32 1
  br label %merge_here

bump_here_b:                                      ; preds = %here
  %x_b = getelementptr i64, ptr addrspace(1) %base_obj_y, i32 2
  br label %merge_here

merge_here:                                       ; preds = %bump_here_b, %bump_here_a
  %x = phi ptr addrspace(1) [ %x_a, %bump_here_a ], [ %x_b, %bump_here_b ]
  br label %merge

there:                                            ; preds = %entry
  %y = getelementptr i64, ptr addrspace(1) %base_obj_y, i32 1
  br label %merge

merge:                                            ; preds = %there, %merge_here
  %merged_value = phi ptr addrspace(1) [ %x, %merge_here ], [ %y, %there ]
  call void @site_for_call_safpeoint() [ "deopt"(i32 0, i32 -1, i32 0, i32 0, i32 0) ]
  ret ptr addrspace(1) %merged_value
}
