; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt %s -keep-loops=false -switch-to-lookup=true -simplifycfg -S | FileCheck %s
; RUN: opt %s -passes='simplify-cfg<no-keep-loops;switch-to-lookup>' -S | FileCheck %s

define void @f6() #0 {
; CHECK-LABEL: @f6(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    br label [[FOR_COND_I:%.*]]
; CHECK:       for.cond.i:
; CHECK-NEXT:    [[TOBOOL7_I:%.*]] = icmp ne i16 1, 0
; CHECK-NEXT:    br label [[FOR_COND_I]]
;

entry:
  br label %for.cond.i

for.cond.i:                                       ; preds = %f1.exit.i, %entry
  switch i16 undef, label %f1.exit.i [
  i16 -1, label %cond.false.i3.i
  i16 1, label %cond.false.i3.i
  i16 0, label %cond.false.i3.i
  ]

cond.false.i3.i:                                  ; preds = %for.cond.i, %for.cond.i, %for.cond.i
  br label %f1.exit.i

f1.exit.i:                                        ; preds = %cond.false.i3.i, %for.cond.i
  %cond.i4.i = phi i16 [ undef, %cond.false.i3.i ], [ 1, %for.cond.i ]
  %tobool7.i = icmp ne i16 %cond.i4.i, 0
  br label %for.cond.i
}
