// RUN: %target-sil-opt -assume-parsing-unqualified-ownership-sil -enable-sil-verify-all %s

// REQUIRES: asserts

// This file is meant to pass the verifier.

import Builtin

// Don't fail in the verifier on a shared unreachable exit block of two loops.
sil @dont_fail: $@convention(thin) (Builtin.Int1) -> () {
bb0(%0 : $Builtin.Int1):
  %2 = integer_literal $Builtin.Int1, -1
  cond_br %0, bb1, bb5

// Loop.
bb1:
  %4 = alloc_stack $Builtin.Int32
  cond_br %0, bb2, bb3

bb2:
  dealloc_stack %4 : $*Builtin.Int32
  cond_br %0, bb4, bb1

// Cloned loop.
bb5:
  %6 = alloc_stack $Builtin.Int32
  cond_br %0, bb6, bb3

bb6:
  dealloc_stack %6 : $*Builtin.Int32
  cond_br %0, bb4, bb5

// Shared unreachable exit block.
bb3:
  cond_fail %2 : $Builtin.Int1
  unreachable

bb4:
  %10 = tuple ()
  return %10 : $()
}


sil @dont_fail2: $@convention(thin) (Builtin.Int1) -> () {
bb0(%0 : $Builtin.Int1):
  %2 = integer_literal $Builtin.Int1, -1
  cond_br %0, bb1, bb5

// Loop.
bb1:
  %4 = alloc_stack $Builtin.Int32
  cond_br %0, bb2, bb3

bb2:
  dealloc_stack %4 : $*Builtin.Int32
  cond_br %0, bb4, bb1

// Cloned loop.
bb5:
  %6 = alloc_stack $Builtin.Int32
  cond_br %0, bb6, bb3

bb6:
  dealloc_stack %6 : $*Builtin.Int32
  cond_br %0, bb4, bb5

// Shared unreachable exit block.
bb3:
 cond_br %0, bb7, bb8

bb7:
  cond_fail %2 : $Builtin.Int1
  unreachable

bb8:
  cond_fail %2 : $Builtin.Int1
  unreachable

bb4:
  %10 = tuple ()
  return %10 : $()
}
