; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -S -simplifycfg -simplifycfg-require-and-preserve-domtree=1 < %s | FileCheck %s

declare void @widget()
declare i16 @baz()
declare void @snork()
declare void @spam()

define void @zot() local_unnamed_addr align 2 personality i8* undef {
; CHECK-LABEL: @zot(
; CHECK-NEXT:  bb:
; CHECK-NEXT:    invoke void @widget()
; CHECK-NEXT:    to label [[BB14:%.*]] unwind label [[BB21:%.*]]
; CHECK:       bb14:
; CHECK-NEXT:    [[I0:%.*]] = invoke i16 @baz()
; CHECK-NEXT:    to label [[BB15:%.*]] unwind label [[BB25:%.*]]
; CHECK:       bb15:
; CHECK-NEXT:    switch i16 [[I0]], label [[BB19:%.*]] [
; CHECK-NEXT:    i16 42, label [[BB23:%.*]]
; CHECK-NEXT:    i16 21330, label [[BB23]]
; CHECK-NEXT:    ]
; CHECK:       bb19:
; CHECK-NEXT:    invoke void @snork()
; CHECK-NEXT:    to label [[BB20:%.*]] unwind label [[BB25]]
; CHECK:       bb20:
; CHECK-NEXT:    unreachable
; CHECK:       bb21:
; CHECK-NEXT:    [[I22:%.*]] = landingpad { i8*, i32 }
; CHECK-NEXT:    cleanup
; CHECK-NEXT:    ret void
; CHECK:       bb23:
; CHECK-NEXT:    invoke void @spam()
; CHECK-NEXT:    to label [[BB24:%.*]] unwind label [[BB25]]
; CHECK:       bb24:
; CHECK-NEXT:    ret void
; CHECK:       bb25:
; CHECK-NEXT:    [[I26:%.*]] = landingpad { i8*, i32 }
; CHECK-NEXT:    cleanup
; CHECK-NEXT:    br label [[BB24]]
;
bb:
  invoke void @widget()
  to label %bb14 unwind label %bb21

bb14:                                             ; preds = %bb
  %i0 = invoke i16 @baz()
  to label %bb15 unwind label %bb25

bb15:                                             ; preds = %bb14
  %i16 = icmp eq i16 %i0, 42
  br i1 %i16, label %bb23, label %bb17

bb17:                                             ; preds = %bb15
  %i18 = icmp eq i16 %i0, 21330
  br i1 %i18, label %bb23, label %bb19

bb19:                                             ; preds = %bb17
  invoke void @snork()
  to label %bb20 unwind label %bb25

bb20:                                             ; preds = %bb19
  unreachable

bb21:                                             ; preds = %bb
  %i22 = landingpad { i8*, i32 }
  cleanup
  ret void

bb23:                                             ; preds = %bb17, %bb15
  invoke void @spam()
  to label %bb24 unwind label %bb25

bb24:                                             ; preds = %bb25, %bb23
  ret void

bb25:                                             ; preds = %bb23, %bb19, %bb14
  %i26 = landingpad { i8*, i32 }
  cleanup
  br label %bb24
}
