1 ; RUN: opt < %s -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -disable-output
3 define void @symhash_add() {
5 br i1 undef, label %then.0, label %UnifiedReturnBlock
6 then.0: ; preds = %entry
7 br i1 undef, label %loopentry.2, label %loopentry.1.preheader
8 loopentry.1.preheader: ; preds = %then.0
9 br label %loopentry.1.outer
10 loopentry.1.outer: ; preds = %loopexit.1, %loopentry.1.preheader
12 loopentry.1: ; preds = %endif.1, %then.4, %then.3, %then.1, %loopentry.1.outer
13 br i1 undef, label %loopexit.1, label %no_exit.1
14 no_exit.1: ; preds = %loopentry.1
15 br i1 undef, label %then.1, label %else.0
16 then.1: ; preds = %no_exit.1
18 else.0: ; preds = %no_exit.1
19 br i1 undef, label %then.2, label %else.1
20 then.2: ; preds = %else.0
21 br i1 undef, label %then.3, label %endif.1
22 then.3: ; preds = %then.2
24 else.1: ; preds = %else.0
25 br i1 undef, label %endif.1, label %then.4
26 then.4: ; preds = %else.1
28 endif.1: ; preds = %else.1, %then.2
30 loopexit.1: ; preds = %loopentry.1
31 br i1 undef, label %loopentry.1.outer, label %loopentry.2
32 loopentry.2: ; preds = %no_exit.2, %loopexit.1, %then.0
33 br i1 undef, label %loopexit.2, label %no_exit.2
34 no_exit.2: ; preds = %loopentry.2
36 loopexit.2: ; preds = %loopentry.2
38 UnifiedReturnBlock: ; preds = %entry