; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3
; RUN: opt -S -passes=dfa-jump-threading -verify-dom-info=1 %s | FileCheck %s

define void @pr60254() {
; CHECK-LABEL: define void @pr60254() {
; CHECK-NEXT:  entry_1:
; CHECK-NEXT:    br label [[BB_2:%.*]]
; CHECK:       bb_2:
; CHECK-NEXT:    [[PTR_I32_25_0:%.*]] = phi i32 [ 0, [[BB_4:%.*]] ], [ 0, [[BB_2]] ], [ 0, [[ENTRY_1:%.*]] ]
; CHECK-NEXT:    switch i32 [[PTR_I32_25_0]], label [[BB_2]] [
; CHECK-NEXT:    ]
; CHECK:       bb_4:
; CHECK-NEXT:    br label [[BB_2]]
;
entry_1:
  br label %bb_2

bb_2:                                             ; preds = %bb_4, %bb_2, %entry_1
  %ptr_i32_25.0 = phi i32 [ 0, %bb_4 ], [ 0, %bb_2 ], [ 0, %entry_1 ]
  switch i32 %ptr_i32_25.0, label %bb_2 [
  ]

bb_4:                                             ; No predecessors!
  br label %bb_2
}

define void @pr56882() {
; CHECK-LABEL: define void @pr56882() {
; CHECK-NEXT:  entry_1:
; CHECK-NEXT:    br label [[BB_2:%.*]]
; CHECK:       bb_2:
; CHECK-NEXT:    [[PTR_I64_16_0:%.*]] = phi i64 [ -1317805584074026212, [[ENTRY_1:%.*]] ], [ -158622699357888703, [[BB_2]] ]
; CHECK-NEXT:    switch i64 [[PTR_I64_16_0]], label [[BB_2]] [
; CHECK-NEXT:    ]
;
entry_1:
  br label %bb_2

bb_2:                                             ; preds = %bb_2, %entry_1
  %ptr_i64_16.0 = phi i64 [ -1317805584074026212, %entry_1 ], [ -158622699357888703, %bb_2 ]
  switch i64 %ptr_i64_16.0, label %bb_2 [
  ]
}
