1 ; RUN: llvm-as < %s | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | not grep fail
6 br bool %A, label %then.1, label %else.1
9 br bool %B, label %then.2, label %else.1
11 call void (...)* %fail( )
21 br bool %A, label %then.1, label %else.1
23 br bool %B, label %then.2, label %else.1
25 call void (...)* %fail( )
35 br bool %A, label %then.1, label %else.1
37 br bool %B, label %then.2, label %else.1
39 call void (...)* %fail( )
45 void %test4(int %x, int %y) {
50 br bool %C, label %then.1, label %else.1
53 br bool %D, label %then.2, label %else.2
56 br bool %E, label %else.1, label %else.2
60 call void (...)* %fail( )
67 br bool %A, label %then.1, label %else.1
71 call void (...)* %fail( )
75 br bool %B, label %then.2, label %then.1
78 void %test6(int %x, int %y) {
83 br bool %C, label %then.1, label %else.1
87 call void (...)* %fail( )
91 br bool %D, label %then.2, label %else.2
94 br bool %E, label %then.1, label %then.2
100 %B = xor bool %A, true
101 br bool %B, label %then.1, label %else.1
104 br bool %C, label %then.2, label %else.1
106 call void (...)* %fail( )
112 void %test8(int %x) {
116 br bool %B, label %then.1, label %then.2
119 br bool %C, label %then.2, label %else.2
123 call void (...)* %fail( )
128 declare void %fail(...)
130 declare void %pass(...)