1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -mem2reg -disable-output 2*9880d681SAndroid Build Coastguard Worker; PR670 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdefine void @printk(i32, ...) { 5*9880d681SAndroid Build Coastguard Workerentry: 6*9880d681SAndroid Build Coastguard Worker %flags = alloca i32 ; <i32*> [#uses=2] 7*9880d681SAndroid Build Coastguard Worker br i1 false, label %then.0, label %endif.0 8*9880d681SAndroid Build Coastguard Workerthen.0: ; preds = %entry 9*9880d681SAndroid Build Coastguard Worker br label %endif.0 10*9880d681SAndroid Build Coastguard Workerendif.0: ; preds = %then.0, %entry 11*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %flags 12*9880d681SAndroid Build Coastguard Worker br label %loopentry 13*9880d681SAndroid Build Coastguard Workerloopentry: ; preds = %endif.3, %endif.0 14*9880d681SAndroid Build Coastguard Worker br i1 false, label %no_exit, label %loopexit 15*9880d681SAndroid Build Coastguard Workerno_exit: ; preds = %loopentry 16*9880d681SAndroid Build Coastguard Worker br i1 false, label %then.1, label %endif.1 17*9880d681SAndroid Build Coastguard Workerthen.1: ; preds = %no_exit 18*9880d681SAndroid Build Coastguard Worker br i1 false, label %shortcirc_done.0, label %shortcirc_next.0 19*9880d681SAndroid Build Coastguard Workershortcirc_next.0: ; preds = %then.1 20*9880d681SAndroid Build Coastguard Worker br label %shortcirc_done.0 21*9880d681SAndroid Build Coastguard Workershortcirc_done.0: ; preds = %shortcirc_next.0, %then.1 22*9880d681SAndroid Build Coastguard Worker br i1 false, label %shortcirc_done.1, label %shortcirc_next.1 23*9880d681SAndroid Build Coastguard Workershortcirc_next.1: ; preds = %shortcirc_done.0 24*9880d681SAndroid Build Coastguard Worker br label %shortcirc_done.1 25*9880d681SAndroid Build Coastguard Workershortcirc_done.1: ; preds = %shortcirc_next.1, %shortcirc_done.0 26*9880d681SAndroid Build Coastguard Worker br i1 false, label %shortcirc_done.2, label %shortcirc_next.2 27*9880d681SAndroid Build Coastguard Workershortcirc_next.2: ; preds = %shortcirc_done.1 28*9880d681SAndroid Build Coastguard Worker br label %shortcirc_done.2 29*9880d681SAndroid Build Coastguard Workershortcirc_done.2: ; preds = %shortcirc_next.2, %shortcirc_done.1 30*9880d681SAndroid Build Coastguard Worker br i1 false, label %then.2, label %endif.2 31*9880d681SAndroid Build Coastguard Workerthen.2: ; preds = %shortcirc_done.2 32*9880d681SAndroid Build Coastguard Worker br label %endif.2 33*9880d681SAndroid Build Coastguard Workerendif.2: ; preds = %then.2, %shortcirc_done.2 34*9880d681SAndroid Build Coastguard Worker br label %endif.1 35*9880d681SAndroid Build Coastguard Workerendif.1: ; preds = %endif.2, %no_exit 36*9880d681SAndroid Build Coastguard Worker br i1 false, label %then.3, label %endif.3 37*9880d681SAndroid Build Coastguard Workerthen.3: ; preds = %endif.1 38*9880d681SAndroid Build Coastguard Worker br label %endif.3 39*9880d681SAndroid Build Coastguard Workerendif.3: ; preds = %then.3, %endif.1 40*9880d681SAndroid Build Coastguard Worker br label %loopentry 41*9880d681SAndroid Build Coastguard Workerloopexit: ; preds = %loopentry 42*9880d681SAndroid Build Coastguard Worker br label %endif.4 43*9880d681SAndroid Build Coastguard Workerthen.4: ; No predecessors! 44*9880d681SAndroid Build Coastguard Worker %tmp.61 = load i32, i32* %flags ; <i32> [#uses=0] 45*9880d681SAndroid Build Coastguard Worker br label %out 46*9880d681SAndroid Build Coastguard Workerdead_block_after_goto: ; No predecessors! 47*9880d681SAndroid Build Coastguard Worker br label %endif.4 48*9880d681SAndroid Build Coastguard Workerendif.4: ; preds = %dead_block_after_goto, %loopexit 49*9880d681SAndroid Build Coastguard Worker br i1 false, label %then.5, label %else 50*9880d681SAndroid Build Coastguard Workerthen.5: ; preds = %endif.4 51*9880d681SAndroid Build Coastguard Worker br label %endif.5 52*9880d681SAndroid Build Coastguard Workerelse: ; preds = %endif.4 53*9880d681SAndroid Build Coastguard Worker br label %endif.5 54*9880d681SAndroid Build Coastguard Workerendif.5: ; preds = %else, %then.5 55*9880d681SAndroid Build Coastguard Worker br label %out 56*9880d681SAndroid Build Coastguard Workerout: ; preds = %endif.5, %then.4 57*9880d681SAndroid Build Coastguard Worker br label %return 58*9880d681SAndroid Build Coastguard Workerafter_ret: ; No predecessors! 59*9880d681SAndroid Build Coastguard Worker br label %return 60*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %after_ret, %out 61*9880d681SAndroid Build Coastguard Worker ret void 62*9880d681SAndroid Build Coastguard Worker} 63