; RUN: llvm-upgrade < %s | llvm-as | \
; RUN:   opt -predsimplify -instcombine -simplifycfg | llvm-dis > %t
; RUN: grep -v declare %t | not grep fail 
; RUN: grep -v declare %t | grep pass | count 4

void %test1(int %x) {
entry:
  %A = seteq int %x, 0
  br bool %A, label %then.1, label %else.1
then.1:
  %B = seteq int %x, 1
  br bool %B, label %then.2, label %else.1
then.2:
  call void (...)* %fail( )
  ret void
else.1:
  ret void
}

void %test2(int %x) {
entry:
  %A = seteq int %x, 0
  %B = seteq int %x, 1
  br bool %A, label %then.1, label %else.1
then.1:
  br bool %B, label %then.2, label %else.1
then.2:
  call void (...)* %fail( )
  ret void
else.1:
  ret void
}

void %test3(int %x) {
entry:
  %A = seteq int %x, 0
  %B = seteq int %x, 1
  br bool %A, label %then.1, label %else.1
then.1:
  br bool %B, label %then.2, label %else.1
then.2:
  call void (...)* %fail( )
  ret void
else.1:
  ret void
}

void %test4(int %x, int %y) {
entry:
  %A = seteq int %x, 0
  %B = seteq int %y, 0
  %C = and bool %A, %B
  br bool %C, label %then.1, label %else.1
then.1:
  %D = seteq int %x, 0
  br bool %D, label %then.2, label %else.2
then.2:
  %E = seteq int %y, 0
  br bool %E, label %else.1, label %else.2
else.1:
  ret void
else.2:
  call void (...)* %fail( )
  ret void
}

void %test5(int %x) {
entry:
  %A = seteq int %x, 0
  br bool %A, label %then.1, label %else.1
then.1:
  ret void
then.2:
  call void (...)* %fail( )
  ret void
else.1:
  %B = seteq int %x, 0
  br bool %B, label %then.2, label %then.1
}

void %test6(int %x, int %y) {
entry:
  %A = seteq int %x, 0
  %B = seteq int %y, 0
  %C = or bool %A, %B
  br bool %C, label %then.1, label %else.1
then.1:
  ret void
then.2:
  call void (...)* %fail( )
  ret void
else.1:
  %D = seteq int %x, 0
  br bool %D, label %then.2, label %else.2
else.2:
  %E = setne int %y, 0
  br bool %E, label %then.1, label %then.2
}

void %test7(int %x) {
entry:
  %A = setne int %x, 0
  %B = xor bool %A, true
  br bool %B, label %then.1, label %else.1
then.1:
  %C = seteq int %x, 1
  br bool %C, label %then.2, label %else.1
then.2:
  call void (...)* %fail( )
  ret void
else.1:
  ret void
}

void %test8(int %x) {
entry:
  %A = add int %x, 1
  %B = seteq int %x, 0
  br bool %B, label %then.1, label %then.2
then.1:
  %C = seteq int %A, 1
  br bool %C, label %then.2, label %else.2
then.2:
  ret void
else.2:
  call void (...)* %fail( )
  ret void
}

void %test9(int %y, int %z) {
entry:
  %x = add int %y, %z
  %A = seteq int %y, 3
  %B = seteq int %z, 5
  %C = and bool %A, %B
  br bool %C, label %cond_true, label %return

cond_true:
  %D = seteq int %x, 8
  br bool %D, label %then, label %oops

then:
  call void (...)* %pass( )
  ret void

oops:
  call void (...)* %fail( )
  ret void

return:
  ret void
}

void %test10()  {
entry:
  %A = alloca int
  %B = seteq int* %A, null
  br bool %B, label %cond_true, label %cond_false

cond_true:
  call void (...)* %fail ( )
  ret void

cond_false:
  call void (...)* %pass ( )
  ret void
}

void %switch1(int %x) {
entry:
  %A = seteq int %x, 10
  br bool %A, label %return, label %cond_false

cond_false:
  switch int %x, label %return [
    int 9, label %then1
    int 10, label %then2
  ]

then1:
  call void (...)* %pass( )
  ret void

then2:
  call void (...)* %fail( )
  ret void

return:
  ret void
}

void %switch2(int %x) {
entry:
  %A = seteq int %x, 10
  br bool %A, label %return, label %cond_false

cond_false:
  switch int %x, label %return [
    int 8, label %then1
    int 9, label %then1
    int 10, label %then1
  ]

then1:
  %B = setne int %x, 8
  br bool %B, label %then2, label %return

then2:
  call void (...)* %pass( )
  ret void

return:
  ret void
}

void %switch3(int %x) {
entry:
  %A = seteq int %x, 10
  br bool %A, label %return, label %cond_false

cond_false:
  switch int %x, label %return [
    int 9, label %then1
    int 10, label %then1
  ]

then1:
  %B = seteq int %x, 9
  br bool %B, label %return, label %oops

oops:
  call void (...)* %fail( )
  ret void

return:
  ret void
}

void %switch4(int %x) {
entry:
  %A = seteq int %x, 10
  br bool %A, label %then1, label %cond_false

cond_false:
  switch int %x, label %default [
    int 9, label %then1
    int 10, label %then2
  ]

then1:
  ret void

then2:
  ret void

default:
  %B = seteq int %x, 9
  br bool %B, label %oops, label %then1

oops:
  call void (...)* %fail( )
  ret void
}

void %select1(int %x) {
entry:
  %A = seteq int %x, 10
  %B = select bool %A, int 1, int 2
  %C = seteq int %B, 1
  br bool %C, label %then, label %else

then:
  br bool %A, label %return, label %oops

else:
  br bool %A, label %oops, label %return

oops:
  call void (...)* %fail( )
  ret void

return:
  ret void
}

void %select2(int %x) {
entry:
  %A = seteq int %x, 10
  %B = select bool %A, int 1, int 2
  %C = seteq int %B, 1
  br bool %A, label %then, label %else

then:
  br bool %C, label %return, label %oops

else:
  br bool %C, label %oops, label %return

oops:
  call void (...)* %fail( )
  ret void

return:
  ret void
}

declare void %fail(...)

declare void %pass(...)
