; RUN: opt -S -loop-simplify -disable-output -verify-loop-info -verify-dom-info < %s
; PR5235

; When loopsimplify inserts a preheader for this loop, it should add the new
; block to the enclosing loop and not get confused by the unreachable
; bogus loop entry.

define void @is_extract_cab() nounwind {
entry:
  br label %header

header:                                       ; preds = %if.end206, %cond.end66, %if.end23
  br label %while.body115

while.body115:                                    ; preds = %9, %if.end192, %if.end101
  br i1 undef, label %header, label %while.body115

foo:
  br label %while.body115
}

; When loopsimplify generates dedicated exit block for blocks that are landing
; pads (i.e. innerLoopExit in this test), we should not get confused with the
; unreachable pred (unreachableB) to innerLoopExit.
define void @baz(i32 %trip) personality i32* ()* @wobble {
entry:
  br label %outerHeader

outerHeader:
  invoke void @foo() 
          to label %innerPreheader unwind label %innerLoopExit

innerPreheader:
  br label %innerH

innerH:
  %tmp50 = invoke i8 * undef()
          to label %innerLatch unwind label %innerLoopExit

innerLatch:
  %cmp = icmp slt i32 %trip, 42
  br i1 %cmp, label %innerH, label %retblock

unreachableB:                                             ; No predecessors!
  %tmp62 = invoke i8 * undef()
          to label %retblock unwind label %innerLoopExit

; undedicated exit block (preds from inner and outer loop)
; Also has unreachableB as pred.
innerLoopExit:
  %tmp65 = landingpad { i8*, i32 }
          cleanup
  invoke void @foo() 
          to label %outerHeader unwind label %unwindblock

unwindblock:
  %tmp67 = landingpad { i8*, i32 }
          cleanup
  ret void

retblock:
  ret void
}

; Function Attrs: nounwind
declare i32* @wobble()

; Function Attrs: uwtable
declare void @foo()
