1 ; RUN: opt < %s -simplifycfg -disable-output 2 3 define void @symhash_add() { 4 entry: 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 11 br label %loopentry.1 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 17 br label %loopentry.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 23 br label %loopentry.1 24 else.1: ; preds = %else.0 25 br i1 undef, label %endif.1, label %then.4 26 then.4: ; preds = %else.1 27 br label %loopentry.1 28 endif.1: ; preds = %else.1, %then.2 29 br label %loopentry.1 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 35 br label %loopentry.2 36 loopexit.2: ; preds = %loopentry.2 37 ret void 38 UnifiedReturnBlock: ; preds = %entry 39 ret void 40 } 41