; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -passes=simplifycfg -S -max-jump-threading-live-blocks=3 < %s | FileCheck %s --check-prefixes=CHECK_LIMIT_3
; RUN: opt -passes=simplifycfg -S -max-jump-threading-live-blocks=4 < %s | FileCheck %s --check-prefixes=CHECK_LIMIT_4

; Test option -max-jump-threading-live-blocks=<num>

define void @testB(ptr %ptrA, ptr %ptrB, i64 %a, i64 %b, i64 %c) {
; CHECK_LIMIT_3-LABEL: define void @testB(
; CHECK_LIMIT_3-SAME: ptr [[PTRA:%.*]], ptr [[PTRB:%.*]], i64 [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]]) {
; CHECK_LIMIT_3-NEXT:  [[MAINA:.*]]:
; CHECK_LIMIT_3-NEXT:    [[COND:%.*]] = icmp slt i64 [[A]], [[B]]
; CHECK_LIMIT_3-NEXT:    br i1 [[COND]], label %[[IFA:.*]], label %[[MAINB:.*]]
; CHECK_LIMIT_3:       [[IFA]]:
; CHECK_LIMIT_3-NEXT:    [[TMP0:%.*]] = load i64, ptr [[PTRA]], align 4
; CHECK_LIMIT_3-NEXT:    br label %[[MAINB]]
; CHECK_LIMIT_3:       [[MAINB]]:
; CHECK_LIMIT_3-NEXT:    [[VALUE:%.*]] = phi i64 [ [[TMP0]], %[[IFA]] ], [ 0, %[[MAINA]] ]
; CHECK_LIMIT_3-NEXT:    br i1 [[COND]], label %[[IFB:.*]], label %[[MAINC:.*]]
; CHECK_LIMIT_3:       [[IFB]]:
; CHECK_LIMIT_3-NEXT:    [[COND2:%.*]] = icmp slt i64 [[A]], [[C]]
; CHECK_LIMIT_3-NEXT:    br i1 [[COND2]], label %[[IFB_ARM1:.*]], label %[[IFB_ARM2:.*]]
; CHECK_LIMIT_3:       [[IFB_ARM1]]:
; CHECK_LIMIT_3-NEXT:    [[PTR_ARM1:%.*]] = getelementptr i64, ptr [[PTRB]], i64 8
; CHECK_LIMIT_3-NEXT:    store i128 0, ptr [[PTR_ARM1]], align 4
; CHECK_LIMIT_3-NEXT:    br label %[[IFB_JOIN:.*]]
; CHECK_LIMIT_3:       [[IFB_ARM2]]:
; CHECK_LIMIT_3-NEXT:    [[PTR_ARM2:%.*]] = getelementptr i64, ptr [[PTRB]], i64 16
; CHECK_LIMIT_3-NEXT:    store i128 0, ptr [[PTR_ARM2]], align 4
; CHECK_LIMIT_3-NEXT:    br label %[[IFB_JOIN]]
; CHECK_LIMIT_3:       [[IFB_JOIN]]:
; CHECK_LIMIT_3-NEXT:    [[PTRC:%.*]] = phi ptr [ [[PTR_ARM1]], %[[IFB_ARM1]] ], [ [[PTR_ARM2]], %[[IFB_ARM2]] ]
; CHECK_LIMIT_3-NEXT:    store i64 [[VALUE]], ptr [[PTRC]], align 4
; CHECK_LIMIT_3-NEXT:    br label %[[MAINC]]
; CHECK_LIMIT_3:       [[MAINC]]:
; CHECK_LIMIT_3-NEXT:    ret void
;
; CHECK_LIMIT_4-LABEL: define void @testB(
; CHECK_LIMIT_4-SAME: ptr [[PTRA:%.*]], ptr [[PTRB:%.*]], i64 [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]]) {
; CHECK_LIMIT_4-NEXT:  [[MAINA:.*:]]
; CHECK_LIMIT_4-NEXT:    [[COND:%.*]] = icmp slt i64 [[A]], [[B]]
; CHECK_LIMIT_4-NEXT:    br i1 [[COND]], label %[[IFA:.*]], label %[[MAINC:.*]]
; CHECK_LIMIT_4:       [[IFA]]:
; CHECK_LIMIT_4-NEXT:    [[TMP0:%.*]] = load i64, ptr [[PTRA]], align 4
; CHECK_LIMIT_4-NEXT:    [[COND2:%.*]] = icmp slt i64 [[A]], [[C]]
; CHECK_LIMIT_4-NEXT:    br i1 [[COND2]], label %[[IFB_ARM1:.*]], label %[[IFB_ARM2:.*]]
; CHECK_LIMIT_4:       [[IFB_ARM1]]:
; CHECK_LIMIT_4-NEXT:    [[PTR_ARM1:%.*]] = getelementptr i64, ptr [[PTRB]], i64 8
; CHECK_LIMIT_4-NEXT:    store i128 0, ptr [[PTR_ARM1]], align 4
; CHECK_LIMIT_4-NEXT:    br label %[[IFB_JOIN:.*]]
; CHECK_LIMIT_4:       [[IFB_ARM2]]:
; CHECK_LIMIT_4-NEXT:    [[PTR_ARM2:%.*]] = getelementptr i64, ptr [[PTRB]], i64 16
; CHECK_LIMIT_4-NEXT:    store i128 0, ptr [[PTR_ARM2]], align 4
; CHECK_LIMIT_4-NEXT:    br label %[[IFB_JOIN]]
; CHECK_LIMIT_4:       [[IFB_JOIN]]:
; CHECK_LIMIT_4-NEXT:    [[PTRC:%.*]] = phi ptr [ [[PTR_ARM1]], %[[IFB_ARM1]] ], [ [[PTR_ARM2]], %[[IFB_ARM2]] ]
; CHECK_LIMIT_4-NEXT:    store i64 [[TMP0]], ptr [[PTRC]], align 4
; CHECK_LIMIT_4-NEXT:    br label %[[MAINC]]
; CHECK_LIMIT_4:       [[MAINC]]:
; CHECK_LIMIT_4-NEXT:    ret void
;
mainA:
  %cond = icmp slt i64 %a, %b
  br i1 %cond, label %ifA, label %mainB

ifA:
  %518 = load i64, ptr %ptrA
  br label %mainB

; Use of %value is not in either immediate destination of mainB.
mainB:
  %value = phi i64 [ %518, %ifA ], [ zeroinitializer, %mainA ]
  br i1 %cond, label %ifB, label %mainC

ifB:
  %cond2 = icmp slt i64 %a, %c
  br i1 %cond2, label %ifB_arm1, label %ifB_arm2

ifB_arm1:
  %ptr_arm1 = getelementptr i64, ptr %ptrB, i64 8
  store i128 0, ptr %ptr_arm1
  br label %ifB_join

ifB_arm2:
  %ptr_arm2 = getelementptr i64, ptr %ptrB, i64 16
  store i128 0, ptr %ptr_arm2
  br label %ifB_join

ifB_join:
  %ptrC = phi ptr [ %ptr_arm1, %ifB_arm1 ], [ %ptr_arm2, %ifB_arm2 ]
  store i64 %value, ptr %ptrC
  br label %mainC

mainC:
  ret void
}
