; 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 align 8 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()
