1 ; RUN: llvm-as < %s | opt -simplifycfg -disable-output
3 implementation ; Functions:
7 br bool undef, label %then.0, label %UnifiedReturnBlock
9 then.0: ; preds = %entry
10 br bool undef, label %loopentry.2, label %loopentry.1.preheader
12 loopentry.1.preheader: ; preds = %then.0
13 br label %loopentry.1.outer
15 loopentry.1.outer: ; preds = %loopentry.1.preheader, %loopexit.1
18 loopentry.1: ; preds = %loopentry.1.outer, %then.1, %then.3, %then.4, %endif.1
19 br bool undef, label %loopexit.1, label %no_exit.1
21 no_exit.1: ; preds = %loopentry.1
22 br bool undef, label %then.1, label %else.0
24 then.1: ; preds = %no_exit.1
27 else.0: ; preds = %no_exit.1
28 br bool undef, label %then.2, label %else.1
30 then.2: ; preds = %else.0
31 br bool undef, label %then.3, label %endif.1
33 then.3: ; preds = %then.2
36 else.1: ; preds = %else.0
37 br bool undef, label %endif.1, label %then.4
39 then.4: ; preds = %else.1
42 endif.1: ; preds = %then.2, %else.1
45 loopexit.1: ; preds = %loopentry.1
46 br bool undef, label %loopentry.1.outer, label %loopentry.2
48 loopentry.2: ; preds = %then.0, %loopexit.1, %no_exit.2
49 br bool undef, label %loopexit.2, label %no_exit.2
51 no_exit.2: ; preds = %loopentry.2
54 loopexit.2: ; preds = %loopentry.2
57 UnifiedReturnBlock: ; preds = %entry