1 ; RUN: as < %s | opt -tailduplicate -disable-output
6 entry: ; No predecessors!
7 br bool false, label %then.5, label %UnifiedExitNode
9 then.5: ; preds = %entry
10 br bool false, label %loopentry.1.preheader, label %else.1
12 else.1: ; preds = %then.5
13 br label %loopentry.1.preheader
15 loopentry.1.preheader: ; preds = %then.5, %else.1
16 %final_ask.0 = phi int [ 0, %else.1 ], [ 0, %then.5 ] ; <int> [#uses=2]
19 loopentry.1: ; preds = %loopentry.1.preheader, %endif.17
20 switch uint 0, label %UnifiedExitNode [
21 uint 2, label %UnifiedExitNode
22 uint 1, label %endif.16
25 endif.16: ; preds = %loopentry.1
26 br bool false, label %then.17, label %UnifiedExitNode
28 then.17: ; preds = %endif.16
29 br bool false, label %then.18, label %endif.17
31 then.18: ; preds = %then.17
32 br bool false, label %endif.17, label %UnifiedExitNode
34 endif.17: ; preds = %then.17, %then.18
35 %cur_ask.3 = phi int [ %final_ask.0, %then.17 ], [ %final_ask.0, %then.18 ] ; <int> [#uses=0]
36 br bool false, label %loopentry.1, label %UnifiedExitNode
38 UnifiedExitNode: ; preds = %entry, %endif.17, %then.18, %endif.16, %loopentry.1, %loopentry.1